Part Number Hot Search : 
21002 ADG1223 A2C22 GL3PR41 C1963P OM9369SP HFP730 C35005
Product Description
Full Text Search
 

To Download SPIRIT1QTR Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  this is information on a product in full production. may 2013 docid022758 rev 5 1/101 101 spirit1 low data rate, low power sub-1ghz transceiver datasheet - production data features ? frequency bands: 150-174 mhz, 300-348 mhz, 387-470 mhz, 779-956 mhz ? modulation schemes: 2-fsk, gfsk, msk, gmsk, ook, and ask ? air data rate from 1 to 500 kbps ? very low power consumption (9 ma rx and 21 ma tx at +11 dbm) ? programmable rx digital filter from 1 khz to 800 khz ? programmable channel spacing (12.5 khz min.) ? excellent performance of receiver sensitivity (- 118 dbm), selectivity, and blocking ? programmable output power up to +16 dbm ? fast startup and frequency synthesizer settling time (6 s) ? frequency offset compensation ? integrated temperature sensor ? battery indicator and low battery detector ? rx and tx fifo buffer (96 bytes each) ? configurability via spi interface ? automatic acknowledgment, retransmission, and timeout protocol engine ? aes 128-bit encryption co-processor ? antenna diversity algorithm ? fully integrated ultra low power rc oscillator ? wake-up on internal timer and wake-up on external event ? flexible packet length with dynamic payload length ? sync word detection ? address check ? automatic crc handling ? fec with interleaving ? digital rssi output ? programmable carrier sense (cs) indicator ? automatic clear channel assessment (cca) before transmitting (for listen-before-talk systems). embedded csma/ca protocol ? programmable preamble quality indicator (pqi) ? link quality indication (lqi) ? whitening and de-whitening of data ? wireless m-bus, en 300 220, fcc cfr47 15 (15.205, 15.209, 15.231, 15.247, 15.249), and arib std t-67, t93, t-108 compliant ? qfn20 4x4 mm rohs package ? operating temperature range from -40 c to 85 c applications ? amr (automatic meter reading) ? home and building automation ? wsn (wireless sensors network) ? industrial monitoring and control ? wireless fire and security alarm systems ? point-to-point wireless link qfn20 table 1. device summary order code package packing SPIRIT1QTR qfn20 tape and reel www.st.com
contents spirit1 2/101 docid022758 rev 5 contents 1 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 typical application diagram and pin description . . . . . . . . . . . . . . . . . 10 3.1 typical application diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5 absolute maximum ratings and thermal data . . . . . . . . . . . . . . . . . . . 15 6 characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.1 general characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2 electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2.1 electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2.2 digital spi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.2.3 rf receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 6.2.4 rf transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.2.5 crystal oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.2.6 sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7 operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7.1 reset sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 7.2 timer usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 7.3 low duty cycle reception mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 7.3.1 ldc mode with automatically acknowledgement. . . . . . . . . . . . . . . . . . 35 7.4 csma/ca engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8 block description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.1 power management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.1.1 switching frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.2 power-on-reset (por) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.3 low battery indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.4 voltage reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
docid022758 rev 5 3/101 spirit1 contents 8.5 oscillator and rf synthesizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.6 rco: features and calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 8.6.1 rc oscillator calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 8.7 agc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 8.8 afc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 8.9 symbol timing recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 8.9.1 dll mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 8.9.2 pll mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8.10 receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8.11 transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8.12 temperature sensors (ts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 8.13 aes encryption co-processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 9 transmission and reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 9.1 pa configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 9.2 rf channel frequency settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 9.3 rx timeout management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.4 intermediate frequency setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 9.5 modulation scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 9.5.1 data rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 9.5.2 rx channel bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 9.6 data coding and integrity check process . . . . . . . . . . . . . . . . . . . . . . . . . 58 9.6.1 fec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 9.6.2 crc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 9.6.3 data whitening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 9.6.4 data padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 9.7 packet handler engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 9.7.1 stack packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 9.7.2 wireless m-bus packet (w m-bus, en13757-4) . . . . . . . . . . . . . . . . . . 61 9.7.3 basic packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 9.7.4 automatic packet filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.7.5 link layer protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 9.8 data modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 9.9 data fifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 9.10 receiver quality indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 9.10.1 rssi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
contents spirit1 4/101 docid022758 rev 5 9.10.2 carrier sense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 9.10.3 lqi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 9.10.4 pqi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 9.10.5 sqi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 9.11 antenna diversity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 9.12 frequency hopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 10 mcu interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 10.1 serial peripheral interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 10.2 interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 10.3 gpios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 10.4 mcu clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 11 register table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 12 package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 13 revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
docid022758 rev 5 5/101 spirit1 list of tables list of tables table 1. device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 table 2. description of the external components of the typical application diagram . . . . . . . . . . . . 12 table 3. bom for different bands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 table 4. pinout description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 table 5. absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 table 6. thermal data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 table 7. recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 table 8. general characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 table 9. power consumption static modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6 table 10. power consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 table 11. digital spi input and output (sdo, sdi, sclk, csn, and sdn) and gpio specification (gpi- o_1-4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 table 12. rf receiver characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 table 13. rf receiver characteristics - sensitivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 table 14. rf transmitter characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 table 15. crystal oscillator characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 table 16. ultra low power rc oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 table 17. n-fractional ? frequency synthesizer characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 table 18. analog temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 table 19. battery indicator and low battery detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9 table 20. states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 table 21. commands list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 table 22. por parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 table 23. spirit1 timers description and duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 table 24. smps configuration settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 table 25. programmability of trans-conductance at startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 table 26. cp word look-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 table 27. rc calibrated speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 table 28. pa_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 table 29. frequency threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 table 30. rx timeout stop condition configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 table 31. if_offset settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 table 32. chflt_m and chflt_e value for channel filter bandwidth (in khz, for fclk = 24 mhz) . . 57 table 33. chflt_m and chflt_e value for channel filter bandwidth (in khz, for fclk = 26 mhz) . . 57 table 34. packet configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 table 35. spi interface timing requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 table 36. interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 table 37. digital outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 table 38. digital inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 table 39. mcu_ck_conf configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 table 40. mcu clock vs. state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 table 41. general configuration registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 table 42. radio configuration registers (analog blocks). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 table 43. radio configuration registers (digital blocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4 table 44. packet/protocol configuration registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 table 45. frequently used registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 table 46. general information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 table 47. qfn20 (4 x 4 mm.) mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 table 48. document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
list of figures spirit1 6/101 docid022758 rev 5 list of figures figure 1. spirit1 block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 figure 2. suggested application diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 figure 3. application diagram for tx boost mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 figure 4. application diagram for smps off mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 figure 5. diagram and transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 figure 6. power-on reset timing and limits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 figure 7. ldcr mode timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 figure 8. csma flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 figure 9. shaping of ask signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 figure 10. output power ramping configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 figure 11. lfsr block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 figure 12. threshold of the linear fifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 figure 13. spi ?write? operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 figure 14. spi ?read? operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 figure 15. spi ?command? operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 figure 16. qfn20 (4 x 4 mm.) drawing dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
docid022758 rev 5 7/101 spirit1 description 1 description the spirit1 is a very low-power rf transceiver, intended for rf wireless applications in the sub-1 ghz band. it is designed to operate both in the license-free ism and srd frequency bands at 169, 315, 433, 868, and 915 mhz, but can also be programmed to operate at other additional frequencies in the 300-348 mhz, 387-470 mhz, and 779-956 mhz bands. the air data rate is programmable from 1 to 500 kbps, and the spirit1 can be used in systems with channel spacing of 12.5/25 khz, complying with the en 300 220 standard. it uses a very small number of discrete external components and integrates a configurable baseband modem, which supports data management, modulation, and demodulation. the data management handles the data in the proprietary fully programmable packet format also allows the m-bus standard compliance format (all performance classes). however, the spirit1 can perform cyclic redundancy checks on the data as well as fec encoding/decoding on the packets. the spirit1 provides an optional automatic acknowledgement, retransmission, and timeout protocol engine in order to reduce overall system costs by handling all the high-speed link layer operations. moreover, the spirit1 supports an embedded csma/ca engine. an aes 128-bit encryption co-processor is available for secure data transfer. the spirit1 fully supports antenna diversity with an integrated antenna switching control algorithm. the spirit1 supports different modulation schemes: 2-fsk, gfsk, ook, ask, and msk. transmitted/received data bytes are buffered in two different three-level fifos (tx fifo and rx fifo), accessible via the spi interface for host processing.
introduction spirit1 8/101 docid022758 rev 5 2 introduction a simplified block diagram of the spirit1 is shown in figure 1 . figure 1. spirit1 block diagram the receiver architecture is low-if conversion. the received rf signal is amplified by a two- stage low-noise amplifier (lna) and down-converted in quadrature (i and q) to the intermediate frequency (if). lna and if amplifiers make up the rx front-end (rxfe) and have programmable gain. at if, i/q signals are digitized by adcs. the demodulated data is then provided to an external mcu either through the 96-byte rx fifo, readable via spi, or directly using a programmable gpio pin. a 128-bit aes co-processor is available to perform (offline) data encryption/decryption to secure data transfer. the transmitter part of the spirit1 is based on direct synthesis of the rf frequency. the power amplifier (pa) input is the lo generated by the rf synthesizer, while the output level can be configured between -30 dbm and +11 dbm in 0.5 db steps. the data to be transmitted can be provided by an external mcu either through the 96-byte tx fifo writable via spi, or directly using a programmable gpio pin. the spirit1 supports frequency hopping, tx/rx and antenna diversity switch control, extending the link range and improving performance. the spirit1 has a very efficient power management (pm) system. /1$ '(02'8/$725 3$ )5(4 6<17+   02'8/$725 5;),)2v 7;),)2v 63, 5(*,67(560$3 *3,2 ,17(5)$&( 5$',2&21752/ $7% 5&2 $ $ 3 '$7$/,1./$<(5 'ljlwdo/'2 9&2/'2 3///'2 352*/'2 $'&/'2 /rz3rzhu 'ljlwdo/'2 7(036(16 7; 5;q 5;s 6'2 6', 6&/. &6q *3,2b *3,2b *3,2b *3,2b 95',* 9''',* 6036([w 6036([w ;,1 ;287 6'1 $'& $'& 9''6036 *1'3$ 325 $(6 /'2 9 &(175$/ %,$6 %25 udz %25 dff %/' ',*,7$/&/2&. ;2 50 287'ly /'2 6036 ',* ,2    /rrs'ly /'2 $09 $ 0      9 
docid022758 rev 5 9/101 spirit1 introduction an integrated switched mode power supply (smps) regulator allows operation from a battery voltage ranging from +1.8 v to +3.6 v, and with power conversion efficiency of at least 80%. a crystal must be connected between xin and xout. it is digitally configurable to operate with different crystals. as an alternative, an external clock signal can be used to feed xin for proper operation. the spirit1 also has an integrated low-power rc oscillator, generating the 34.7 khz signal used as a clock for the slowest timeouts (i.e. sleeping and backoff). a standard 4-pin spi bus is used to communicate with the external mcu. four configurable general purpose i/os are available.
typical application diagram and pin description spirit1 10/101 docid022758 rev 5 3 typical application diagram and pin description 3.1 typical application diagram this section describes different application diagram of spirit1 that can be used according to customer needs. in particular figure 2 shows the default configuration, figure 3 shows the tx boost mode configuration and figure 4 shows the smps off configuration. the default configuration is giving the best power consumption figures. the tx boost mode configuration is used to increase tx output power and the smps off configuration is used to enhance sensitivity at the expense of power consumption. when using smps off configuration, smps should disabled by setting to1 bit disable_smps in pm_config register. figure 2. suggested application diagram 1.8v3.6v power supply c0 c13 1 gpio_0 sdn 15 smps ext1 14 smps ext2 13 tx 12 gnd_pa 11 2 miso 3 mosi 4 sclk 5 csn gpio_1 20 gpio_2 19 gpio_3 18 vreg 17 vbat 16 8 vbat 6 xout 7 xin 9 rfp 10 rfn digital interface spirit1 die attach pad: c9 c6 xtal c11 l7 antenna (50 ) l0 l1 l2 l3 c1 c2 c3 c5 l4 c4 l5 c10 l6 c7 c8 c0 l8 c12 c13 c15 c14 l9 am09258v1
docid022758 rev 5 11/101 spirit1 typical application diagram and pin description figure 3. application diagram for tx boost mode 1.8v3.6v power supply c0 c13 1 gpio_0 sdn 15 smps ext1 14 smps ext2 13 tx 12 gnd_pa 11 2 miso 3 mosi 4 sclk 5 csn gpio_1 20 gpio_2 19 gpio_3 18 vreg 17 vbat 16 8 vbat 6 xout 7 xin 9 rfp 10 rfn digital interface spirit1 die attach pad: c9 c6 xtal c11 l7 antenna (50 ) l0 l1 l2 l3 c1 c2 c3 c5 l4 c4 l5 c10 l6 c7 c8 c0 l8 c12 c13 c15 c14 l9 1.8v3.6v power supply am09258v2
typical application diagram and pin description spirit1 12/101 docid022758 rev 5 figure 4. application diagram for smps off mode ta ble 2 assumes to cover all the frequency bands using a set of different as shown in table 3: bom for different bands . table 2. description of the external components of the typical application diagram components description c0 decoupling capacitor for on-chip voltage regulator to digital part c1, c2, c3, c14, c15 rf lc filter/matching capacitors c4, c5 rf balun/matching capacitors c6, c7, c8 rf balun/matching dc blocking capacitors c9, c10 crystal loading capacitors c11, c12, c13 smps lc filter capacitor l0 rf choke inductor l1, l2, l3, l9 rf lc filter/matching inductors l4, l5, l6 rf balun/matching inductors l7, l8 smps lc filter inductor xtal 24, 26, 48, 52 mhz 1.8v3.6v power supply c0 c13 1 gpio_0 sdn 15 smps ext1 14 smps ext2 13 tx 12 gnd_pa 11 2 miso 3 mosi 4 sclk 5 csn gpio_1 20 gpio_2 19 gpio_3 18 vreg 17 vbat 16 8 vbat 6 xout 7 xin 9 rfp 10 rfn digital interface spirit1 die attach pad: c9 c6 xtal c11 antenna (50 ) l0 l1 l2 l3 c1 c2 c3 c5 l4 c4 l5 c10 l6 c7 c8 c0 c12 c13 c15 c14 l9 1.4v1.8v am09258v3
docid022758 rev 5 13/101 spirit1 typical application diagram and pin description table 3. bom for different bands ref design (1) 170 mhz band 315 mhz band 433 mhz band 868 mhz band 915/922 mhz band steval- ikrv001v1 steval- ikrv001v2 steval- ikrv001v3 steval- ikrv001v4 steval-ikrv001v5 comp. supplier value supplier value supplier value supplier value supplier value c0 murata 100nf murata 100nf murata 100nf murata 100nf murata 100nf c1 murata 18pf murata 12pf murata 8.2pf ne murata 7pf c2 murata 27pf murata 27pf murata 18pf murata 8.2pf murata 2.4pf c3 murata 4.3pf murata 15pf murata 10pf murata 5.6pf murata 3.6pf c4 ne murata 3.9pf murata 2.2pf murata 2.2pf murata 2pf c5 murata 8pf murata 4.7pf murata 3.3pf murata 1.8pf murata 1.5pf c6 murata 220pf murata 220pf murata 220pf murata 220pf murata 330pf c7 murata 68nh (inductor) murata 220pf murata 220pf murata 220pf murata 220pf c8 murata 390pf murata 220pf murata 220pf murata 220pf murata 220pf c9 murata 12pf murata 12pf murata 12pf murata 12pf murata 12pf c10 murata 10pf murata 10pf murata 10pf murata 10pf murata 10pf c11 murata 1 fmurata1 fmurata 1 f murata 470nf murata 1 f c12 murata 100nf murata 100nf murata 100nf murata 100nf murata 100nf c13 murata 560pf murata 330pf murata 330pf murata 330pf murata 330pf c14 murata 220pf murata 1.8pf murata 1.8pf murata 1.2pf ne c15 murata 6.2pf murata 1.2pf ne ne ne l0 murata 200nh murata 220nh murata 150nh murata 100nh murata 100nh l1 coilcraft 39nh murata 12nh murata 8.2nh murata 3nh murata 3.6nh l2 coilcraft 56nh murata 12nh murata 10nh 0r0 (resistor) murata 5.1nh l3 murata 3.6pf (cap.) murata 15nh murata 10nh murata 4.3nh tyco electronics 0r0 l4 murata 100nh murata 47nh murata 39nh murata 18nh murata 15nh l5 murata 47nh murata 39nh murata 27nh murata 18nh murata 18nh l6 ne ne ne murata 22nh murata 15nh l7 murata 10 hmurata10 hmurata 10 hmurata 10 h murata 10 h l8 0r0 (resistor) murata 270nh murata 100nh coilcraft 27nh coilcraft 27nh l9 coilcraft 51nh murata 15nh murata 6.2nh murata 2.7nh ne xtal ndk 25 mhz ndk 50 mhz ndk 50 or 52 mhz ndk 50 or 52 mhz ndk 50 or 52 mhz 1. for complete bom including part numbers, please check the corresponding reference design.
pinout spirit1 14/101 docid022758 rev 5 4 pinout table 4. pinout description pin name i/o description 1 gpio_0 i/o see description of gpios below 2 miso o spi data output pin 3 mosi i spi data input pin 4 sclk i spi clock input pin 5 csn i spi chip select 6xouto crystal oscillator output. connect to an external 26 mhz crystal or leave floating if driving the xin pin with an external signal source 7xini crystal oscillator input. connect to an external 26 mhz crystal or to an external source. if using an external clock source with no crystal, dc coupling with a nominal 0.2 vdc level is recommended with minimum ac amplitude of 400 mvpp. the instantaneous level at input cannot exceed the 0 - 1.4 v range. 8 vbat vdd +1.8 v to +3.6 v input supply voltage 9rxpi differential rf input signal for the lna. see application diagram for a typical matching network 10 rxn i 11 gnd_pa gnd ground for pa. to be carefully decoupled from other grounds. 12 tx o rf output signal 13 smps ext2 i regulated dc-dc voltage input 14 smps ext1 o dc-dc output pin 15 sdn i shutdown input pin. 0-vdd v digital input. sdn should be = ?0? in all modes except shutdown mode. when sdn =?1? the spirit1 is completely shut down and the contents of the registers are lost. the gpio and spi ports during shutdown are in hiz. 16 vbat vdd +1.8 v to +3.6 v input supply voltage 17 vreg (1) vdd regulated output voltage. a 100 nf decoupling capacitor is required 18 gpio3 i/o general purpose i/o that may be configured through the spi registers to perform various functions, including: ? mcu clock output ? fifo status flags ? wake-up input ? battery level detector ? tx-rx external switch control ? antenna diversity control ? temperature sensor output 19 gpio2 i/o 20 gpio1 i/o 21 gnd gnd exposed pad ground pin 1. this pin is intended for use with the spirit1 only. it cannot be used to provide supply voltage to other devices.
docid022758 rev 5 15/101 spirit1 absolute maximum ratings and thermal data 5 absolute maximum ratings and thermal data absolute maximum ratings are those values above which damage to the device may occur. functional operation under these conditions is not implied. all voltages are referred to gnd. table 5. absolute maximum ratings pin parameter value unit 8,14,16 supply voltage and smps output -0.3 to +3.9 v 17 dc voltage on vreg -0.3 to +1.4 v 1,3,4,5,15,18,19,20 dc voltage on digital input pins -0.3 to +3.9 v 2 dc voltage on digital output pins -0.3 to +3.9 v 11 dc voltage on analog pins -0.3 to +3.9 v 6,7,9,10 dc voltage on rx/xtal pins -0.3 to +1.4 v 13 dc voltage on smps ext2 pin -0.3 to +1.8 v 12 dc voltage on tx pin -0.3 to +3.9 v t stg storage temperature range -40 to +125 c v esd-hbm electrostatic discharge voltage 1.0 kv table 6. thermal data symbol parameter qfn20 unit r thj-amb thermal resistance junction-ambient 45 c/w table 7. recommended operating conditions symbol parameter min. typ. max. unit v bat operating battery supply voltage 1.8 3 3.6 v t a operating ambient temperature range -40 85 c
characteristics spirit1 16/101 docid022758 rev 5 6 characteristics 6.1 general characteristics 6.2 electrical specifications 6.2.1 electrical characteristics characteristics measured over recommended operating conditions unless otherwise specified. typical values are referred to t a = 25 c, v bat = 3.0 v. all performance is referred to a 50 ohm antenna connector, via the reference design using application diagram as in figure 2 , except otherwise noted. table 8. general characteristics symbol parameter min. typ. max. unit freq frequency range 150 - 174 mhz 300 348 mhz 387 470 mhz 779 956 mhz dr air data rate for each modulation scheme. note that if "manchester", "3-out-of-6" and/or fec encoding/decoding options are selected, the effective bit rate will be lower. 2-fsk 1 - 500 kbaud gmsk (bt=1, bt=0.5) 1 500 kbaud gfsk (bt=1, bt=0.5) 1 500 kbaud msk 1 500 kbaud ook/ask 1 250 kbaud table 9. power consumption static modes symbol parameter test conditions min. typ. max. unit ibat supply current shutdown (1) 1. see table 20 . - 2.5 - na standby (1) 600 sleep (1) 850 ready (default mode) (1) 400 a lock (1) 4.4 ma
docid022758 rev 5 17/101 spirit1 characteristics 6.2.2 digital spi table 10. power consumption symbol parameter test conditions smps on smps off unit ibat supply current rx (1) 169 mhz 1. see table table 20 . 9.2 16.9 ma rx (1) 315 mhz 9.2 16.9 rx (1) 433 mhz 9.2 16.9 rx (1) 868 mhz 9.7 17.6 rx (1) 915 mhz 9.8 17.6 rx (1) 922 mhz 9.8 17.9 tx (1)(2) +16 dbm 169 mhz 2. tx boost mode configuration v bat = 3.6 v. 54 tx (1)(2) +16 dbm 315 mhz 52 tx (1)(2) +16 dbm 433 mhz 49.3 tx (1)(2) +15.5 dbm 868 mhz 44 tx (1)(2) +16 dbm 920 mhz 45.2 tx (1) +11 dbm 169 mhz 18 33 tx (1) +11 dbm 315 mhz 22 37 tx (1) +11 dbm 433 mhz 19.5 33 tx (1) +11 dbm 868 mhz 21 41 tx (1) +11 dbm 920 mhz 20 39 tx (1) -8 dbm 169 mhz 6 tx (1) -8 dbm 315 mhz 6.5 tx (1) -7 dbm 433 mhz 7 tx (1) -7 dbm 868 mhz 7 table 11. digital spi input and output (sdo, sdi, sclk, csn, and sdn) and gpio specification (gpio_1-4) symbol parameter test condition min. typ. max. unit f clk clock frequency 10 mhz c in port i/o capacitance 1.4 pf t rise rise time 0.1*vdd to 0.9*vdd, cl=20 pf (low output current programming) 6.0 ns 0.1*vdd to 0.9*vdd, cl=20 pf (high output current programming) 2.5
characteristics spirit1 18/101 docid022758 rev 5 6.2.3 rf receiver characteristics measured over recommended operating conditions unless otherwise specified. all typical values are referred to t a = 25 c, v bat = 3.0 v, no frequency offset in the rx signal. all performance is referred to a 50 ohm antenna connector, via the reference design. t fall fall time 0.1*vdd to 0.9*vdd, cl=20 pf (low output current programming) 7.0 ns 0.1*vdd to 0.9*vdd, cl=20 pf (high output current programming) 2.5 v ih logic high level input voltage vdd/2 +0.3 v v il logic low level input voltage vdd/8 +0.3 v v oh high level output voltage ioh = -2.4 ma (-4.2 ma if high output current capability is programmed). (5/8)* vdd+ 0.1 v v ol low level output voltage iol = +2.4 ma (+4 ma if high output current capability is programmed). 0.5 v table 11. digital spi input and output (sdo, sdi, sclk, csn, and sdn) and gpio specification (gpio_1-4) (continued) symbol parameter test condition min. typ. max. unit table 12. rf receiver characteristics symbol parameter test condition min. typ. max. unit rl return loss 169.4-169.475 mhz, 433-435 mhz, 868-868.6 mhz, 310-320 mhz, 902-928 mhz (1) -10 db ch bw receiver channel bandwidth 1 800 khz p sat saturation 1% per (packet length = 20 bytes) fec disabled 868 mhz 2-gfsk (bt=1) 38.4 kbps (20 khz dev. ch filter=100 khz) 10 dbm iip 3 input third order intercept input power -50 dbm 915 mhz -37 -31 -26 dbm
docid022758 rev 5 19/101 spirit1 characteristics c/i 1-ch (2) adjacent channel rejection, 1% per (packet length = 20 bytes) fec disabled 868 mhz desired channel 3 db above sensitivity level. 12.5 khz f, 2- fsk 1.2 kbps, (1 khz dev. ch filter=6 khz) 49 db desired channel 3 db above sensitivity level. 100 khz f, 2- fsk 1.2 kbps, (4.8 khz dev. ch filter=58 khz) 40 db desired channel 3 db above sensitivity level. 200 khz f, 2- gfsk (bt=1) 38.4 kbps, (20 khz dev. ch filter=100 khz) 40 db desired channel 3 db above sensitivity level. 750 khz f, 2- gfsk (bt=1) 250 kbps, (127 khz dev. ch filter=540 khz) 38 db c/i 2-ch (3) alternate channel rejection, 1% per (packet length = 20 bytes) fec disabled 868 mhz desired channel 3 db above sensitivity level. 25 khz f, 2-fsk 1.2 kbps, (1 khz dev. ch filter=6 khz) 52 db desired channel 3 db above sensitivity level. 200 khz f, 2- fsk 1.2 kbps, (4.8 khz dev. ch filter=58 khz) 43 db desired channel 3 db above sensitivity level. 400 khz f, 2- gfsk (bt=1) 38.4 kbps, (20 khz dev. ch filter=100 khz) 44 db desired channel 3 db above sensitivity level. 1.5 mhz f, 2- gfsk (bt=1) 250 kbps, (127 khz dev. ch filter=540 khz) 46 db im rej (3) image rejection, 1% per (packet length = 20 bytes) 1% per (packet length = 20 bytes) fec disabled 868 mhz 2-gfsk (bt=1) 38.4 kbps (20khz dev. ch filter=100 khz), desired channel 3 db above the sensitivity limit, with iqc correction. 47 db rx blk (3) blocking at offset above the upper band edge and below the lower band edge 1% ber @ 2 mhz offset, 868 mhz 2- gfsk (bt=1) 38.4kbps, desired channel 3 db above the sensitivity limit -42 dbm @ 10 mhz offset, 868 mhz 2- gfsk (bt=1) 38.4kbps, desired channel 3 db above the sensitivity limit -40 dbm table 12. rf receiver characteristics (continued) symbol parameter test condition min. typ. max. unit
characteristics spirit1 20/101 docid022758 rev 5 rx spur spurious emissions (maximum values according to etsi en 300 220-1) rf = 170 mhz, f< 1 ghz -65 dbm rf = 170 mhz, 1 ghz < f < 4 ghz -69 rf = 433 mhz - 435 mhz, f< 1 ghz -63 rf = 433 mhz - 435 mhz, 1 ghz < f < 4 ghz -83 rf = 868 mhz, f< 1 ghz -70 rf = 868 mhz, 1 ghz < f < 6 ghz -60 spurious emissions (maxi- mum values according to arib std-t93) rf = 312 mhz - 315 mhz, f< 1 ghz -69 rf = 312 mhz - 315 mhz, f> 1 ghz -59 spurious emissions (maxi- mum values according to arib std-t67) rf = 426 mhz - 470 mhz -61 spurious emissions (maxi- mum values according to arib std-t108) rf = 920 mhz - 924 mhz, f< 710 mhz <-70 rf = 920 mhz - 924 mhz, 710 mhz < f < 915 mhz rf = 920 mhz - 924 mhz, 915 mhz < f < 930 mhz rf = 920 mhz - 924 mhz, 930 mhz < f < 1 ghz rf = 920 mhz - 924 mhz, f> 1 ghz -75 zin, rx differential input impedance (simulated values) max rx gain rf = 170 mhz rf = 315 mhz rf = 433 mhz rf = 868 mhz rf = 915 mhz rf = 922 mhz 200 - j36 180 - j57 170 - j70 118 - j87 113 - j87 113 - j87 1. guaranteed in an entire single sub band. reference design can be different for different application bands. 2. interferer is cw signal (as specified by etsi en 300 220 v1). 3. blocker is cw signal (as specified by etsi en 300 220 v1). table 12. rf receiver characteristics (continued) symbol parameter test condition min. typ. max. unit
docid022758 rev 5 21/101 spirit1 characteristics table 13. rf receiver characteristics - sensitivity symbol parameter test condition smps on smps off unit rx sens sensitivity, 1% ber (according to w-mbus n mode specification) 169mhz 2-fsk 1.2kbps (4 khz dev. ch filter=10khz) -117 -123 dbm 169mhz 2-gfsk (bt=0.5) 2.4kbps (2.4 khz dev. ch filter=7khz) -114 -121 dbm 169mhz 2-fsk 38.4kbps (20 khz dev. ch filter=100 khz) -104 -109 dbm 169mhz 2-gfsk (bt=0.5) 50kbps (25 khz dev. ch filter=100 khz) -104 -108 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled 315mhz 2-fsk 1.2 kbps (4.8 khz dev. ch filter=58 khz) -109 -110 dbm 315mhz msk 500 kbps (ch filter=800 khz) -88 -88 dbm
characteristics spirit1 22/101 docid022758 rev 5 rx sens sensitivity, 1% per (packet length = 20 bytes) fec disabled 433mhz 2-fsk 1.2 kbps (1 khz dev. ch filter=6 khz) -117 -120 dbm 433mhz 2-gfsk (bt=1) 1.2 kbps (4.8 khz dev. ch filter=58 khz) -103 -107 dbm 433mhz 2-gfsk (bt=1) 38.4 kbps (20 khz dev. ch filter=100 khz) -103 -105 dbm 433mhz 2-gfsk (bt=1) 250 kbps (127 khz dev. ch filter=540 khz) -92 -92 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled 868mhz 2-fsk 1.2 kbps (1 khz dev. ch filter=6 khz) -118 -119 dbm 868mhz 2-gfsk (bt=1) 1.2 kbps (4.8 khz dev. ch filter=58 khz) -109 -110 dbm 868mhz 2-gfsk (bt=1) 38.4 kbps (20 khz dev. ch filter=100 khz) -106 -109 dbm 868mhz gfsk (bt=1) 250 kbps (127 khz dev. ch filter=540 khz) -97 -97 dbm 868mhz msk 250 kbps (ch filter=540 khz) -95 -96 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled 915mhz 2-fsk 1.2 kbps (4.8 khz dev. ch filter=58 khz) -108 -108 dbm 915mhz 2-fsk 38.4 kbps (20 khz dev. ch filter =100 khz) -105 -105 dbm 915mhz 2-fsk 250 kbps (127 khz dev. ch filter=540 khz) -98 -102 dbm 915mhz msk 500 kbps (ch filter=800 khz) -95 -95 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled 922mhz 2-fsk 1.2 kbps (4.8 khz dev. ch filter=58 khz) -108 -112 dbm 922mhz 2-fsk 38.4 kbps (20 khz dev. ch filter =100 khz) -102 -108 dbm 922mhz 2-fsk 250 kbps (127 khz dev. ch filter=540 khz) -90 -95 dbm 922mhz msk 500 kbps (ch filter=800 khz) -86 -93 dbm table 13. rf receiver characteristics - sensitivity (continued) symbol parameter test condition smps on smps off unit
docid022758 rev 5 23/101 spirit1 characteristics 6.2.4 rf transmitter characteristics measured over recommended operating conditions unless otherwise specified. all typical values are referred to t a = 25 c, v bat = 3.0 v. all performance is referred to a 50 ohm antenna connector, via the reference design. rx sens sensitivity, 1% per (packet length = 20 bytes) fec disabled (1) 433 mhz ook 1.2 kbps (ch filter=6 khz) -116 -117 dbm 433 mhz ook 2.4 kbps (ch filter=12 khz) -113 -116 dbm 433 mhz ook 38.4 kbps (ch filter=100 khz) -99 -100 dbm 433 mhz ook 250 kbps (ch filter=540 khz) -87 -87 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled (2) 868 mhz ook 1.2 kbps (ch filter=6 khz) -116 -116 dbm 868 mhz ook 2.4 kbps (ch filter=12 khz) -113 -114 dbm 868 mhz ook 38.4 kbps (ch filter=100 khz) -100 -100 dbm 868 mhz ook 250 kbps (ch filter=540 khz) -90 -90 dbm 1. in ook modulation, indicated value represents mean power. table 13. rf receiver characteristics - sensitivity (continued) symbol parameter test condition smps on smps off unit table 14. rf transmitter characteristics symbol parameter test conditions min. typ. max. unit p max_tx_bo ost maximum output power (1) delivered to a 50 ohm single-ended load via reference design using tx boost mode configuration -16 dbm p max maximum output power (1) delivered to a 50 ohm single-ended load via reference design -11 dbm p min minimum output power delivered to a 50 ohm single-ended load via reference design --30 dbm p step output power step - 0.5 db
characteristics spirit1 24/101 docid022758 rev 5 p spur,etsi unwanted emissions according to etsi en300 220-1(harmonic included, using reference design) rf = 170 mhz, frequencies below 1 ghz --36 dbm rf = 170 mhz, frequencies above 1 ghz -< -60 dbm rf = 170 mhz, frequencies within 47-74, 87.5-108,174-230,470-862 mhz --55 dbm rf = 434 mhz, frequencies below 1 ghz --42 dbm rf = 434 mhz, frequencies above 1 ghz --46 dbm rf = 434 mhz, frequencies within 47-74, 87.5-108,174-230,470-862 mhz --61 dbm rf = 868 mhz, frequencies below 1 ghz --51 dbm rf = 868 mhz, frequencies above 1 ghz --40 dbm rf = 868 mhz, frequencies within 47-74, 87.5-108,174-230,470-862 mhz --54 dbm table 14. rf transmitter characteristics (continued) symbol parameter test conditions min. typ. max. unit
docid022758 rev 5 25/101 spirit1 characteristics p spur,fcc unwanted emissions according to fcc part 15(harmonic included, using reference design) rf = 310-320 mhz, harmonics (measured with max output power) --37 dbm rf = 310-320 mhz, 1.705 mhz characteristics spirit1 26/101 docid022758 rev 5 p spur,arib unwanted emissions according to arib rf = 312-315 mhz, frequency below 1 ghz (@ max output power, according to arib std-t93) - -41 dbm rf = 312-315 mhz, frequency above 1 ghz (@ max output power, according to arib std-t93) - -48 dbm rf = 426-470 mhz (@ max output power, according to arib std-t67) -<-40dbm rf = 915-917 mhz and rf = 920-930 mhz, f< 710 mhz (@ max output power, according to arib std-t108) -<-55dbm rf = 915-917 mhz and rf = 920-930 mhz, 710 mhz docid022758 rev 5 27/101 spirit1 characteristics 6.2.5 crystal oscillator characteristics measured over recommended operating conditions unless otherwise specified. all typical values are referred to t a = 25 c, v bat = 3.0 v. frequency synthesizer characteristics are referred to 915 mhz band. p harm harmonics level rf = 170 mhz, 2 nd harmonic (max power level) --36 dbm rf = 170 mhz, 3 rd harmonic (max power level) --55 rf = 315 mhz, 2 nd harmonic (max power level) --52 dbc rf = 315 mhz, 3 rd harmonic (max power level) --52 rf = 433 mhz, 2 nd harmonic (max power level) --43 dbm rf = 433 mhz, 3 rd harmonic (max power level) --46 rf = 868 mhz, 2 nd harmonic (max power level) --40 rf = 868 mhz, 3 rd harmonic (max power level) --42 rf = 915 mhz, 2 nd harmonic (max power level) --28dbc rf = 915 mhz, 3 rd harmonic (max power level) --42 dbm rf = 922 mhz, 2 nd harmonic (max power level) --39 rf = 922 mhz, 3 rd harmonic (max power level) --60 pa load optimum load impedance (simulated v a l u e s ) 170 mhz, using reference design - 46 + j36 ohm 315 mhz, using reference design - 25 + j27 ohm 433 mhz, using reference design - 29 + j19 ohm 868 mhz, using reference design - 34 - j7 ohm 915 mhz, using reference design - 15 + j28 ohm 922 mhz, using reference design - 42 - j15 ohm 1. in ask/ook modulation, indicate d value represents peak power. table 14. rf transmitter characteristics (continued) symbol parameter test conditions min. typ. max. unit
characteristics spirit1 28/101 docid022758 rev 5 table 15. crystal oscillator characteristics symbol parameter test conditions min. typ. max. unit xtal f crystal frequency range 1 range 2 24 48 26 52 mhz f tol frequency tolerance (1) 1. including initial tolerance, crystal loading, aging, and temperature dependence. the acceptable crystal tolerance depends on rf frequency and channel spacing/bandwidth. 40 ppm pn xtal minimum requirement on external reference phase noise mask (fxo=26 mhz), to avoid degradation on synthesizer phase/noise 100 hz -90 dbc/hz 1 khz -120 dbc/hz 10 khz -135 dbc/hz 100 khz -140 dbc/hz 1 mhz -140 dbc/hz t start startup time (2) 2. startup times are crystal dependent. the crystal oscillator transconductance can be tuned to compensate the variation of crystal oscillator series resistance. v bat =1.8 v, fxo= 52 mhz 60 120 220 s table 16. ultra low power rc oscillator symbol parameter test conditions min. typ. max. unit rc f calibrated frequency calibrated rc oscillator frequency is derived from crystal oscillator frequency. digital clock domain 26 mhz - 34.7 khz rc tol frequency accuracy after calibration 1 % table 17. n-fractional ? frequency synthesizer characteristics symbol parameter test conditions min. typ. max. unit f res frequency resolution fxo= 26 mhz high band - 33 hz pn synth rf carrier phase noise (915 mhz band) 10 khz -100 -97 -94 dbc/hz 100 khz -104 -101 -99 dbc/hz 200 khz -105 -102 -100 dbc/hz 500 khz -112 -110 -107 dbc/hz 1 mhz -120 -118 -116 dbc/hz 2 mhz -123 -121 -119 dbc/hz to time pll turn-on/hop time 60 80 s
docid022758 rev 5 29/101 spirit1 characteristics 6.2.6 sensors characteristics measured over recommended operating conditions unless otherwise specified. all typical values are referred to t a = 25 c, v bat = 3.0 v. set time pll rx/tx settling time settling time from rx to tx and from tx to rx 8.5 s cal time pll calibration time 54 s table 17. n-fractional ? frequency synthesizer characteristics (continued) symbol parameter test conditions min. typ. max. unit table 18. analog temperature sensor characteristics symbol parameter test conditions min. typ. max. unit t err error in temperature across all the temperature range - 2.5 - c t slope temperature coefficient 2.5 mv/ c v ts-out output voltage level 0.92 v t icc current consumption buffered output (low output impedance, about 400 ohm) 600 a not buffered output (high output impedance, about 100 k ) 10 a table 19. battery indicator and low battery detector (1) symbol parameter test conditions min. typ. max. unit v blt battery level thresholds 2.1 2.7 v v bot brownout threshold measured in slow battery variation (static) conditions (inaccurate) 1.535 v measured in slow battery variation (static) conditions (accurate) 1.684 v bot hyst brownout threshold hysteresis 70 mv 1. for battery powered equipment, the tx does not transmit at a wrong frequency under low battery voltage conditions. it either remains on channel or stops transmitting. the latter can of course be realized by using a lock detect and/or by switching off the pa under control of the battery monitor. for testing reasons this control is enabled/disabled by spi.
operating modes spirit1 30/101 docid022758 rev 5 7 operating modes the spirit1 is provided with a built-in main controller which controls the switching between the two main operating modes: transmit (tx) and receive (rx). in shutdown condition (the spirit1 can be switched on/off with the external pin sdn, all other functions/registers/commands are available through the spi interface and gpios), no internal supply is generated (in order to have minimum battery leakage), and hence, all stored data and configurations are lost. the gpio and spi ports during shutdown are in hiz. from shutdown, the spirit1 can be switched on from the sdn pin and goes into ready state, which is the default, where the reference signal from xo is available. from ready state, the spirit1 can be moved to lock state to generate the high precision lo signal and/or tx or rx modes. switching from rx to tx and vice versa can happen only by passing through the lock state. this operation is normally managed by radio control with a single user command (tx or rx). at the end of the operations above, the spirit1 can return to its default state (ready) and can then be put into a sleeping condition (sleep state), having very low power consumption. if no timeout is required, the spirit1 can be moved from ready to standby state, which has the lowest possible current consumption while retaining fifo, status and configuration registers. to manage the transitions towards and between these operating modes, the controller works as a state- machine, whose state switching is driven by spi commands. see figure 5 for state diagram and transition time between states. figure 5. diagram and transition the spirit1 radio control has three stable states (ready, standby, lock) which may be defined stable, and they are accessed by the specific commands (respectively ready, 5($'< 67$1'%< 6/((3 5;7; /2&. 6+87'2:1 $09
docid022758 rev 5 31/101 spirit1 operating modes standby, and lockrx/locktx), which can be left only if any other command is used. all other states are transient, which means that, in a typical configuration, the controller remains in those states, at most for any timeout timer duration. also the ready and lock states behave as transients when they are not directly accessed with the specific commands (for example, when lock is temporarily used before reaching the tx or rx states). note: response time shutdown to ready is ~650 s. ready state is the default state after the power-on reset event. in the steady condition, the xo is settled and usable as the time reference for rco calibration, for frequency synthesis, and as the system clock for the digital circuits. the tx and rx modes can be activated directly by the mcu using the tx and rx commands, or automatically if the state machine wakes up from sleep mode and some previous tx or rx is pending. the values are intend to a vco manual calibration. in lock state the synthesizer is in a locking condition (a) . if lock state is reached using either one of the two specific commands (locktx or lockrx), the state machine remains in lock state and waits for the next command. this feature can be used by the mcu to perform preliminary calibrations, as the mcu can read the calibration word in the rco_vco_calibr_out register and store it in a non-volatile memory, and after that it requires a further tuning cycle. table 20. states state[6:0] (1) state/mode digital ldo spi xtal rf synth. wake-up timer response time to (2) tx rx -shutdown off (register contents lost) off off off off na na 0x40 standby on (fifo and register contents retained) on off off off 125 s 125 s 0x36 sleep on off off on 125 s 125 s 0x03 ready (default) on on off don?t care 50 s 50 s 0x0f lock on on on don?t care na na 0x33 rx on on on don?t care 15 sna 0x5f tx on on on don?t care na 15 s 1. all others values of state[6:0] are invalid and are an indication of an error condition due to bad registers configuration and/or hardware issue in the application board hosting spirit1. 2. these values are crystal dependent. the values are referred to 52 mhz. a. lock state is reached when one of the following events occurs first: lock detector assertion or locking timeout expiration.
operating modes spirit1 32/101 docid022758 rev 5 when tx is activated by the tx command, the state machine goes into tx state and remains there until the current packet is fully transmitted or, in the case of direct mode tx, txfifo underflow condition is reached or the sabort command is applied. after tx completion, the possible destinations are: ? tx, if the persistent-tx option is enabled in the protocol configuration registers ? protocol, if some protocol option (e.g. automatic re-transmission) is enabled ? ready, if tx is completed and no protocol option is in progress. similarly, when rx is activated by the rx command, the state machine goes into rx state and remains there until the packet is successfully received or the rx timeout expires. in case of direct mode rx, the rx stops when the rxfifo overflow condition is reached or the sabort command is applied. after rx completion, the possible destinations are: ? rx, if the persistent-rx option is enabled in the protocol configuration registers ? protocol, if some protocol option (e.g. automatic acknowledgement) is enabled ? ready, if rx is completed and the ldcr mode is not active ? sleep, if rx is completed and the ldcr mode is active. the sabort command can always be used in tx or rx state to break any deadlock condition and the subsequent destination depends on spirit1 programming according to the description above. commands are used in the spirit1 to change the operating mode, to enable/disable functions, and so on. a command is sent on the spi interface and may be followed by any other spi access without pulling csn high. the complete list of commands is reported in table 21 . note that the command code is the second byte to be sent on the mosi pin (the first byte must be 0x80). table 21. commands list command code command name execution state description 0x60 tx ready start to transmit 0x61 rx ready start to receive 0x62 ready standby, sleep, lock go to ready 0x63 standby ready go to standby 0x64 sleep ready go to sleep 0x65 lockrx ready go to lock state by using the rx configuration of the synthesizer 0x66 locktx ready go to lock state by using the tx configuration of the synthesizer 0x67 sabort tx, rx exit from tx or rx states and go to ready state 0x68 ldc_reload all reload the ldc timer with the value stored in the ldc_prescaler/counter registers 0x69 sequence_upda te all reload the packet sequence counter with the value stored in the protocol[2] register. 0x6a aes enc all start the encryption routine
docid022758 rev 5 33/101 spirit1 operating modes the commands are immediately valid after spi transfer completion (i.e. no need for any csn positive edge). 7.1 reset sequence spirit1 is provided with an automatic power-on reset (por) circuit which generates an internal resetn active (low) level for a time t reset after the vdd reaches the reset release threshold voltage v rrt (provided that sdn is low), as shown below. the same reset pulse is generated after a step-down on the input pin sdn (provided that vdd>v rrt ). figure 6. power-on reset timing and limits the parameters v rrt and t reset are fixed by design. at reset, all the registers are initialized to their default values. typical and extreme values are reported in the following table. 0x6b aes key all start the procedure to compute the key for decryption 0x6c aes dec all start decryption using the current key 0x6d aes keydec all compute the key and start decryption 0x70 sres all reset 0x71 flushrxfifo all clean the rx fifo 0x72 flushtxfifo all clean the tx fifo table 21. commands list (continued) command code command name execution state description 9''qrplqdo  5(6(71 w 9 557  7 5(6(7  6 9''  $09
operating modes spirit1 34/101 docid022758 rev 5 note: an sres command is also available which generates an internal reset of the spirit1. 7.2 timer usage most of the timers are programmable via r/w registers. all timer registers are made up of two bytes: the first byte is a multiplier factor (prescaler); the second byte is a counter value. note: if the counter register value (prescaler register value) is 0, the related timer never stops (infinite timeout), despite the value written in the prescaler register (counter register). the available timers and their features are listed in the following table. note: it is not allowed to set ldc_prescaler or ldc_counter to 0 for ldcr_counter and ldcr_prescaler only, the effective number of cycles counted is given by the value + 1 (e.g. counter=1 and prescaler=1 produces 2 x 2=4 counts, counter=1 and prescaler=2 produces 2 x 3=6 counts, etc.). the max period of rx timeout is related to an f clk of 26 mhz. 7.3 low duty cycle reception mode the spirit1 provides an operat ing mode, low duty cycle reception (ldcr), which is an operating mode that allows operation with very low power consumption, while at the same time keeping an efficient communication link. the ldcr mode is enabled by setting the ldcr_mode bit in the protocol registers. the device provides a set of timers to efficiently handle low duty cycle reception (ldcr). when ldcr is enabled the device runs on the 34.7 khz rc oscillator keeping unused blocks off. table 22. por parameters symbol parameter min. typ. max. unit v rrt reset startup threshold voltage 0.5 v t reset reset pulse width 0.24 0.65 1.0 ms timer period= prescaler x conter x tclk table 23. spirit1 timers description and duration no. register name description source time step max. time 1 rx_timeout_prescaler rx operation timeout f clk /1210 ~46 s~3s 2 rx_timeout_counter 3 ldcr_prescaler wake-up period rco ~29 s~2s 4 ldcr_counter
docid022758 rev 5 35/101 spirit1 operating modes ldcr is controlled essentially by the wake-up period (t wu ), which periodically wakes up the spirit1 to perform a transmission or a reception. in reception mode, it is also relevant to set up the rx timeout in order to minimize the amount of time the spirit1 waits for a packet during t wu . when setting t wu , care should be taken when considering the analog settling time which is required before the radio becomes fully operative for transmission or reception (t idle in figure 7 ). figure 7. ldcr mode timing the t idle time can be longer than the minimum required to get analog circuits settling, and this causes power waste. in order to minimize t idle , the spirit1 supports the runtime phasing of the internal wake-up timer, as follows: ? the value of the wake-up timer can be reloaded during runtime using the ldcr_reload command with the values written in the ldcr_reload_prescaler/counter register s. in doing so, the counting can be delayed or anticipated ? alternatively, the wake-up timer can be automatically reloaded at the time the sync is received. this option must be enabled on the protocol register and it is available only for ldc mode in reception. the rc oscillator must be calibrated correctly before the ldc mode can be used. also the manual calibration setting is recommended to avoid delay during this mode. if the some bits of the irq_mask register are set, the irq_status register must be read to allow the access to the sleep state after a reception or transmission phase. 7.3.1 ldc mode with automatically acknowledgement. the ldc mode can be used together with the automatic acknowledgement (stack packet format configured). in this case during a single ldc cycle both the operations of reception and transmission are performed. if the spirit1 is used as transmitter and the bitfield nack_tx is reset (packet's field no_ack = 0), at the end of the transmission phase the spirit1 will go automatically in reception phase waiting for an ack packet. at the end of the reception phase it will go in sleep state until the wut expires. if the spirit1 is used as receiver with the bitfield auto_ack set and it receives a packet with the no_ack field reset, then the transmission of the ack packet is automatically performed. at the end the spirit1 will go in sleep until the wut expires. $&7,9(  6/((3,1*  ,'/(  7 :8  7 ,'/(  :dnh  8s ,qwhuuxsw  6<1& uhfhlyhg  ,qwhuuxsw  $09
operating modes spirit1 36/101 docid022758 rev 5 7.4 csma/ca engine the csma/ca engine is a channel access mechanism based on the rule of sensing the channel before transmitting. this avoids the simultaneous use of the channel by different transmitters and increases the probability of correct reception of data being transmitted. csma is an optional feature that can be enabled when performing transmission. please note that csma must not be enabled when the transceiver is in receive mode. csma cannot be used in conjuction with link layer protocol (see section 9.7.5 ) features such as automatic acknowledgment and automatic retransmission. when csma is enabled, the device performs a clear channel assessment (cca) before transmitting any data. in spirit1 implementation, cca is based on a comparison of the channel rssi with a programmable static carrier sense threshold. if the cca finds the channel busy, a backoff procedure may be activated to repeat the cca process a certain number of times, until the channel is found to be idle. each time that cca is retried, a counter (nb) is incremented by one, up to the upper limit (nb max ). when the limit is reached, an nbackoff_max interrupt request is raised towards the mcu, to notify that the channel has been repeatedly found busy and so the transmission has not been performed. while in backoff, the device stays in sleep/ready state in order to reduce power consumption. cca may optionally be persistent, i.e., rather than entering backoff when the channel is found busy, cca continues until the channel becomes idle or until the mcu stops it. the thinking behind using this option is to give the mcu the possibility of managing the cca by itself, for instance, with the allocation of a transmission timer: this timer would start when mcu finishes sending out data to be transmitted, and would end when mcu expects that its transmission takes place, which would occur after a period of cca. the choice of making cca persistent should come from trading off transmission latency, under the direct control of the mcu, and power consumption, which would be greater due to a busy wait in reception mode. the overall csma/ca flowchart is shown in figure 8 , where t cca and t listen are two of the parameters controlling the clear channel assessment procedure. design practice recommends that these parameters average the channel energy over a certain period expressed as a multiple of the bit period (t cca ) and repeat such measurement several times covering longer periods (t listen ). the measurement is performed directly by checking the carrier sense (cs) generated by the receiver module.
docid022758 rev 5 37/101 spirit1 operating modes figure 8. csma flowchart to avoid any wait synchronization between different channel contenders, which may cause successive failing cca operations, the backoff wait time is calculated randomly between 0 and a contention window. the backoff time bo is expressed as a multiple of backoff time units (bu). the contention window is calculated on the basis of the binary exponential  63,frppdqg 7; 1%  6hhguhordg &60$b21  6'1  6+87'2:1 5($'< 6'1  lqwhuqdo325 6hwwolqj rq5hvhw 7;vhwwolqj 7;prgh wudqvplwdsdfnhw shuvlvwhqw" &60$b3(56b21  5;prgh fkdqqhoexv\" &6  &6wlphrxw" 7 olvwhq h[sludwlrq 1r <hv <hv 5hvwduw&duulhu 6hqvhwlphuv <hv qxpehuriuhwulhv 1%  1% pd[ " 6/((3 1r +dv%2zdlw hodsvhg" %2 udqg  1% %8 1% 1% &60$prgh hqdeohg" <hv &6shulrg" 1r 7 ffd h[sludwlrq 1r <hv 1r <hv 1r 1r <hv &60$ &60$ 5($'< $09
operating modes spirit1 38/101 docid022758 rev 5 backoff (beb) technique, which doubles the size of the window at each backoff retry (stored in the nb counter): bo= rand(0,2 nb )bu the csma procedure is then controlled by the following parameters: seed_reload: enables/disables the reload of the seed used by the backoff random generator at the start of each csma procedure (at the time when the counter is reset, i.e. nb=0). if this functionality is not enabled, the seed is automatically generated and updated by the generator circuit itself. csma_on: enables/disables the csma procedure (11 th bit of the protocol[1] register); this bit is checked at each packet transmission. csma_pers_on: makes the carrier sense persistent, i.e. the channel is continuously monitored until it becomes free again, skipping the backoff waiting steps (9 th bit of the protocol[1] register); the mcu can stop the procedure with an sabort command. bu_counter_seed_msbyte/lsbyte: these bytes are used to set the seed of the pseudo-random number generator when the csma cycle starts (csma_config[3:2] registers), provided that the seed_reload bit is enabled. value 0 is not allowed, because the pseudo-random generator does not work in that case. bu_prescaler[5:0]: prescaler which is used to configure the backoff time unit (b) bu=bu_prescaler in figure 8 (field of the csma_config[1] register). cca_period[1:0]: code which programs the t cca time (expressed as a multiple of tbit samples) between two successive cs samplings (field of the csma_config[1] register), as follows: ? 00 64tbit ? 01 128tbit ? 10 256tbit ? 11 512tbit. cca_length[3:0]: configuration of t listen = [1..15] x t cca nbackoff_max[2:0]: max. number of backoff cycles. b. note that the backoff timer is clocked on the 34.7 khz clock, because, in this case, the spirit1 is in sleep state, in order to reduce power consumption.
docid022758 rev 5 39/101 spirit1 block description 8 block description 8.1 power management the spirit1 integrates a high efficiency step-down converter cascaded with ldos meant to supply both analog and digital parts. however, an ldo directly fed by the external battery provides a controlled voltage to the data interface block. 8.1.1 switching frequency the smps switching frequency can be provided either by a divider by four or by a programmable rate multiplier. the divider by four or the rate multiplier is activated when the en_rm bit is set both 0 and 1 in the pm_config[2:0] register bank. when the rate multiplier is activated, the divider ratio can be programmed by krm[14:0] word in the pm_config[2:0] register bank. in this case, the smps switching frequency is given by the following formula: the smps runs properly when the bits set_smps_vtune and set_smps_pllbw (see pm_config[2:0] register bank) are set according to the programmed switching frequency. 8.2 power-on-reset (por) the power-on-reset circuit generates a reset pulse upon power-up which is used to initialize the entire digital logic. power-on-reset senses v bat voltage. 8.3 low battery indicator the battery indicator can provide the user with an indication of the battery voltage level. there are two blocks to detect battery level: ? brownout with a fixed threshold as defined in table 19: battery indicator and low battery detector ? battery level detector with a programmable threshold as defined in table 19: battery indicator and low battery detector . table 24. smps configuration settings set_smps_pllbw set_smps_vtune switching frequency range 0 0 2.0 mhz - 4.5 mhz 0 1 3.5 mhz - 7.0 mhz 1 0 4.5 mhz - 7.5 mhz 1 1 4.5 mhz - 10 mhz f sw krm f clk ? 2 15 ----------------------------- - =
block description spirit1 40/101 docid022758 rev 5 both blocks can be optionally activated to provide the mcu with an early warning of impending power failure. it does not reset the system, but gives the mcu time to prepare for an orderly power-down and provides hardware protection of data stored in the program memory, by preventing write instructions being executed. the low battery indicatorr function is available in any of the spirit1 operation modes. as this function requires the internal bias circuit operation, the overall current consumption in standby, sleep, and ready modes is increased by 400 a. 8.4 voltage reference this block provides the precise reference voltage needed by the internal circuit. 8.5 oscillator and rf synthesizer a crystal connected to xin and xout is used to provide a clock signal to the frequency synthesizer. the allowed clock signal frequency is either 24, 26, 48, or 52 mhz. as an alternative, an external clock signal can be used to feed xin for proper operation. in this option, xout can be left either floating or tied to ground. since the digital macro cannot be clocked at that double frequency (48 mhz or 52 mhz), a divided clock is used in this case. the digital clock divider is enabled by default and must be kept enabled if the crystal is in the (48 - 52) mhz range; if the crystal is in the (24 - 26) mhz range, then the divider must be disabled before starting any tx/rx operation. the safest procedure to disable the divider without any risk of glitches in the digital clock is to switch into standby mode, hence, reset the bit-field pd_clkdiv in the xo_rco_test register, and then come back to the ready state. also the synthesizer reference signal can be divided by 2, setting the bit-field refdiv in the synth_config register. the integrated phase locked loop (pll) is capable to synthesize a wide band of frequencies, in particular the bands from 150 to 174 mhz, from 300 to 348 mhz, from 387 to 470 mhz, or from 779 to 956 mhz, providing the lo signal for the rx chain and the input signal for the pa in the tx chain. frequency tolerance and startup times depend on the crystal used, although some tuning of the latter parameter is possible through the gm_conf field of the ana_func_conf registers. table 25. programmability of trans-conductance at startup gm_conf[2:0] gm at startup [ms] 000 13.2 001 18.2 010 21.5 011 25.6 100 28.8 101 33.9
docid022758 rev 5 41/101 spirit1 block description depending on the rf frequency and channel spacing, a very high accurate crystal or tcxo can be required. the rf synthesizer implements fractional sigma delta architecture to allow fast settling and narrow channel spacing. it is fully integrated and uses a multi-band vco to cover the whole frequency range. all internal calibrations are performed automatically. the pll output frequency can be configured by programming the synt field of the synt3, synt2, synt1, and synt0 registers and bs field of the synt0 register (see section 9.5.2 ). the user must configure these registers according to the effective reference frequency in use (24 mhz, 26 mhz, 48 mhz, or 52 mhz). in the latter two cases, the user must enable the frequency divider by 2 for the digital clock, in order to run the digital macro at a lower frequency. the configuration bit for the digital clock divider is inside the xo_rco_test register (default case is divider enabled). in addition, the user can also enable a divider by 2 applied to the reference clock. the configuration bit for the reference clock divider is inside the synth_config[1] register. the user must select a 3-bit word in order to set the charge pump current according to the lo frequency variations, in order to have a constant loop bandwidth. this can be done by writing the wcp field of the synt3 register, according to the following table: 110 38.5 111 43.0 table 26. cp word look-up channel frequency wcp [2:0] 145.1 147.1 000 147.1 149.1 001 149.1 151.1 010 151.1 153.2 011 153.2 155.2 100 155.2 157.2 101 157.2 159.2 110 159.2 161.1 111 161.3 163.5 000 163.5 165.7 001 165.7 168.0 010 168.0 170.3 011 170.3 172.5 100 172.5 174.8 101 174.8 177.0 110 177.0 179.3 111 table 25. programmability of trans-conductance at startup gm_conf[2:0] gm at startup [ms]
block description spirit1 42/101 docid022758 rev 5 290.3 294 000 294.3 298.3 001 298.3 302.3 010 302.4 306.4 011 306.4 310.4 100 310.4 314.4 101 314.4 318.4 110 318.4 322.6 111 322.6 327.0 000 327.0 331.4 001 331.4 335.9 010 335.9 340.5 011 340.5 344.9 100 344.9 349.5 101 349.5 353.9 110 353.9 358.5 111 387.0 392.3 000 392.3 397.7 001 397.7 403.0 010 403.0 408.5 011 413.8 419.2 101 419.2 424.6 110 424.6 430.1 111 430.1 436.0 000 436.0 441.9 001 441.9 447.9 010 447.9 454.0 011 454.0 459.9 100 459.9 466.0 101 466.0 471.9 110 471.9 478.0 111 774.0 784.7 000 784.7 795.3 001 795.3 806.0 010 806.0 817.0 011 table 26. cp word look-up (continued) channel frequency wcp [2:0]
docid022758 rev 5 43/101 spirit1 block description the spirit1 is provided with an automatic and very fast calibration procedure for the frequency synthesizer. if not disabled, it is performed each time the synth is required to lock to the programmed rf channel frequency (i.e. from ready to lock/tx/rx or from rx to tx and vice versa). calibration time is 54 s. after completion, the calibration word is used automatically by the spirit1 and is stored in the rco_vco_calibr_out[1:0] registers. in order to get the synthesizer locked when the calibration procedure is not enabled, the correct calibration words to be used must be previously stored in the rco_vco_calibr_in[2:0] registers using vco_calibr_tx and vco_calibr_rx fields for tx and rx modes respectively. the advantage of performing an offline calibration is that the lock/setting time is roughly 20 s (using proper vco_calibr_tx/rx register values). it recommended set the t split time at the longest value (3.47 ns) to facilitate the calibrator operation, sel_tsplit field of the register synth_config[0] (register address 0x9f) at 1. if calibration is enabled, the lock/setting time is approximately 80 s. 8.6 rco: features and calibration the spirit1 contains an ultra-low power rc oscillator capable of generating 34.7 khz with both 24 mhz and 26 mhz; the rc oscillator frequency is calibrated comparing it against the digital domain clock fclk divided by 692 or 750, respectively. the configuration bit, called 24_26mhz_select in the ana_func_conf register, contains the information of the calibrator about the frequency of the crystal under operation. if the digital domain clock is 25 mhz, the setting of the configuration bit 24_26mhz_select will calibrate the low power rc oscillator according to the following table: 817.0 827.7 100 827.7 838.3 101 838.3 849.2 110 849.2 860.2 111 860.2 872.0 000 872.0 883.8 001 883.8 895.8 010 908.0 919.8 100 919.8 932.0 101 932.0 943.8 110 943.8 956.0 111 table 26. cp word look-up (continued) channel frequency wcp [2:0]
block description spirit1 44/101 docid022758 rev 5 by default, the calibration is disabled at reset to avoid using an out-of-range reference frequency (for instance, when the xtal is 26 mhz and the digital divider is active, in fact, by default). after the internal clock divider is correctly configured, the user can enable the rco calibration in the protocol[2] register. the user can replace the internal 34 khz-signal source with an external one (provided through a gpio, section 10.3 ). to enable the usage of the external signal, the user must set the ext_rcosc bit in the xo_rco_config register. however, the internal calibrator is not automatically disabled from the ext_rcosc bit (the user must reset the rco_calibration bit in the protocol[2] register, if previously set). 8.6.1 rc oscillator calibration rc oscillator calibration is enabled when bit rco_calibration is set in the protocol[2] register (by default the calibration is disabled). the calibration words found by the calibration algorithm are accessible in the rco_vco_calibr_out[1:0] registers (fields rwt_out[3:0] and rfb_out[4:0],). when the calibration is disabled, the frequency of the rc oscillator is set by a couple of configuration words, namely rwt_in[3:0] and rfb_in[4:0], in the rco_vco_calibr_in[2:0] registers (fields rwt_in[3:0] and rfb_in[4:0]). rwt_in[3:0] can range from 0 up to 13 (decimal value) affecting the raw value of the frequency, while the more accurate and fine control is up to rfb_in[4:0] (ranging from 1 up to 31). 8.7 agc the agc algorithm is designed to keep the signal amplitude within a specific range by controlling the gain of the rf chain in 6 db steps, up to a maximum attenuation of 48db, starting at a received signal power of about -50dbm. the signal peak amplitude measured is compared with a low threshold and with a high threshold. if it is above the high threshold, the attenuation is increased sequentially until the amplitude goes below the threshold; if the amplitude is below the low threshold, the attenuation is decreased sequentially until the amplitude goes above the threshold. table 27. rc calibrated speed digital domain clock 24_26mhz_select rc calibrated speed 24 mhz 0 34.7 khz 26 mhz 1 34.7 khz 25 mhz 0 36.1 khz 25 mhz 1 33.3 khz
docid022758 rev 5 45/101 spirit1 block description the agc algorithm is controlled by the following parameters: ? high threshold: this value sets the digital signal level above which the attenuation is increased (agcctrl1 register, allowed values 0...15). ? low threshold: this value sets the digital signal level below which the attenuation is decreased (agcctrl1 register, allowed values 0...15). ? measure time: this parameters sets the measurement interval during which the signal peak is determined (agcctrl2 register, allowed values 0...15 ). the actual time is: ranging from about 0.5 s to about 15ms. in fsk, gfsk and msk, the measurement time is normally set to a few s in order to achieve fast settling of the algorithm. in ook and ask, to avoid an unstable behavior, the measure time must be larger than the duration of the longest train of '0' symbols expected. ? agc enable: enables the agc algorithm (agc_enable: 0>disabled, 1>enabled). 8.8 afc the spirit1 implements an automatic frequency compensation algorithm to balance tx/rx crystal frequency inaccuracies. the receiver demodulator estimates the centre of the received data and compensates the offset between nominal and receiver frequency. the tracking range of the algorithm is programmable and is a fraction of the receive channel bandwidth. frequency offset compensation is supported for 2-fsk, gfsk, and msk modulation. when the relative frequency error between transmitter and receiver is less than half the modulation bandwidth, the afc corrects the frequency error without needing extra bandwidth. when the frequency error exceeds bwmod/2, some extra bandwidth is needed to assure proper afc operation under worst-case conditions. the afc can be disabled if the tx/rx frequency misalignment is negligible with respect to the receiver bandwidth, for example, when using a tcxo. 8.9 symbol timing recovery the spirit1 supports two different algorithms for the timing recovery. the choice of the algorithm actually used is controlled by the clock_rec_algo_sel bit of register fdev0. if clock_rec_algo_sel = 0 then a simple first order algorithm is used (shortly referred to as dll), if clock_rec_algo_sel = 1 then a second order algorithm is used (shortly referred to as pll). 8.9.1 dll mode the algorithm is able to control the delay of the local bit timing generator in order to align it to the received bit period. if there is an error between the actual received bit period and the nominal one, the relative edges will drift over time and the algorithm will periodically apply a delay correction to recover. t agcmeas 12 f clk ----------- 2 meas_time ? =
block description spirit1 46/101 docid022758 rev 5 the convergence speed of the loop is controlled by the clk_rec_p_gain parameter in the clockrec register with a smaller value yielding a faster loop. allowed values are from 0 to 7. 8.9.2 pll mode the pll algorithm tracks the phase error of the local timing generator relative to received bit period and controls both frequency and phase to achieve the timing lock. once that the relative period error has been estimated and corrected for example during the preamble phase, then even in presence of long sequences of zeros or ones, the loop is able to keep lock. the convergence speed of the loop is controlled by the clk_rec_p_gain and the clk_rec_i_gain parameters both in the clockrec register. allowed values are from 0 to 7 for the clk_rec_p_gain and from 0 to 15 for the clk_rec_i_gain. 8.10 receiver the spirit1 contains a low-power low-if receiver which is able to amplify the input signal and provide it to the adc with a proper signal to noise ratio. the rf antenna signal is converted to a differential one by an external balun, which performs an impedance transformation also. the receiver gain can be programmed to accommodate the adc input signal within its dynamic range. after the down-conversion at if, a first order filter is implemented to attenuate the out-of-band blockers. 8.11 transmitter the spirit1 contains an integrated pa capable of transmitting at output levels between -30 dbm to +11 dbm. the pa is single-ended and has a dedicated pin (txout). the pa output is ramped up and down to prevent unwanted spectral splatter. in tx mode the pa drives the signal generated by the frequency synthesizer out to the antenna terminal. the output power of the pa is programmable via spi. delivered power, as well as harmonic content, depends on the external impedance seen by the pa. to obtain approval on etsi en 300 220, it is possible to program tx to send an unmodulated carrier. the output stage is supplied from the smps through an external choke and is loaded with a lc-type network which has the function of transforming the impedance of the antenna and filter out the harmonics. the tx and rx pins are tied directly to share the antenna. during tx, the lna inputs are internally shorted to ground to allow for the external network resonance, so minimizing the power loss due to the rx.
docid022758 rev 5 47/101 spirit1 block description figure 9. shaping of ask signal 8.12 temperature sensors (ts) the spirit1 can provide an analog temperature indication as a voltage level, which is available at the gpio_0 pin. the voltage level v0 at room temperature (or any other useful reference temperature) should be acquired and stored by the mcu in order to compensate for the offset. the relationship between temperature and voltage is the following: equation 1 where v 0 is the voltage at temperature t 0 . two output modes are available: buffered or not buffered (high output impedance, about 100 k ). the latter mode is the default one. the ts function is available in every operating mode. when enabled, the internal logic allows the switching on of all the necessary circuitry. to enable the ts function, the user must perform the following operations: ? set to 1 the ts bit in the ana_func_conf[0] register ? program as ?analog? (00) the gpio_mode field in the gpio0_conf register (other fields are neglected) ? optionally, enable the buffered mode (the en_ts_buffer bit in the pm_config[2] register). as the ts function requires the internal bias circuit operation, the overall current consumption in standby, sleep, and ready modes is increased by 400 a. 8.13 aes encryption co-processor the spirit1 provides data security support as it embeds an advanced encryption standard (aes) core which implements a cryptographic algorithm in compliance with nist fips 197. 2xwsxw3rzhu /hyhov %lwvhtxhqfh 7lph          3$b/(9(/b0$;b,1'(;  3$b/(9(/b0$;b,1'(;  3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b $09 t400v temp v 0 ? () t 0 3.75 + () + ? = c ()
transmission and reception spirit1 48/101 docid022758 rev 5 three registers are available to use the aes engine of spirit1: ? aes_key_in [15:0]: r/w type register (128-bit), used to provide the key to use ? aes_data_in [15:0]: r/w type register (128-bit), used to provide the input to the aes engine ? aes_data_out [15:0]: r type register (128-bit), used to retrieve the output of the aes operation. the core processes 128-bit data blocks using 128-bit keys. the aes can be accessed in any of the spirit1 operation modes. to turn on the aes engine, the aes_on bit in the ana_func_conf[0] register must be set. once the aes engine is on, it processes the operations according to the commands sent. the spirit1 engine provides 4 different operations: 1. encryption using a given encryption key (aes enc command). in this operation, the mcu puts the encryption key into the aes_key_in[15:0] register and the data to encrypt into the aes_data_in[15:0]. the mcu sends the aes enc command and when the aes_eop (end of operation) is issued, the mcu can retrieve the data encrypted from aes_data_out[15:0] 2. decryption key derivation starting from an encryption key (aes key command). in this operation, the mcu puts the encryption key into aes_data_in[15:0]. the mcu sends the aes key command and when the aes_eop (end of operation) is issued, the mcu can retrieve the decryption key from aes_data_out[15:0] 3. data decryption using a decryption key (aes dec command). in this operation, the mcu puts the decryption key into the aes_key_in[15:0] register and the data to decrypt into aes_data_in[15:0]. the mcu sends the aes dec command and when the aes_eop (end of operation) is issued, the mcu can retrieve the data decrypted from aes_data_out[15:0]. 4. data decryption using a decryption key (aes keydec command). in this operation, the mcu puts the encryption key into the aes_key_in[15:0] register and the data to decrypt into aes_data_in[15:0]. the mcu sends the aes keydec command and when the aes_eop (end of operation) is issued, the mcu can retrieve the data decrypted from aes_data_out[15:0]. 9 transmission and reception 9.1 pa configuration the pa output power level can be configured by programming the pa_power[8:0] register bank. the user can store up to eight output levels to provide flexible pa power ramp-up and ramp-down at the start and end of a frequency modulation transmission as well as ask modulation shaping. the power levels of the ramp are controlled by 7-bit words (pa_level_x, x=0 ? 7), according to the following table:
docid022758 rev 5 49/101 spirit1 transmission and reception the power ramping is enabled by the pa_ramp_enable bit. if enabled, the ramp starts from the level defined by the word pa_level_0 and stops at the level defined by the word pa_level_x, where x is the value of the 3-bit field pa_level_max_index. so, a maximum of 8 steps can be set up. figure 10 describes the levels table and shows some examples. each step is held for a time interval defined by the 2-bit field pa_ramp_step_width. the step width is expressed in terms of bit period units (t b /8), maximum value is 3 (which means 4t b /8=t b /2). therefore the pa ramp may last up to 4 t b (about 3.3 ms if the bit rate is 1.2 kbit/s). table 28. pa_level pa_level_x comment p out [dbm] (170mhz) 0 no output power: output stage in high impedance mode and all circuits switched off. - 1 maximum output power 11 ? 30 0 ? 42 -6 ? 90 minimum level -34 91-127 reserved n/a
transmission and reception spirit1 50/101 docid022758 rev 5 figure 10. output power ramping configuration the set of 8 levels is used to shape the ask signal. in this case, the modulator works as a counter that counts up when transmitting a one and down when transmitting a zero. the counter counts at a rate equal to 8 times the symbol rate (in this case, the field pa_ramp_step_width is not used). this counter value is used as an index for the lookup in the levels table in figure 10 to associate the relevant pout value. therefore, in order to utilize the whole table, pa_level_max_index should be 7 when ask is active. the real shaping of the ask signal is dependent on the configuration of the pa_level_x registers. figure 10 shows some examples of ask shaping. using the a frequency modulation, the output power is configured by pa_level_x, with x=pa_level_max_index. for ook modulation, the signal is abruptly switched between two levels only, these are pa_level_0 and pa_level_x, with x=pa_level_max_index. the 2-bit cwc field in the pa_power register bank can be used to tune the internal capacitive load of the pa (up to 3.6 pf in steps of 1.2 pf) in order to optimize the performance at different frequencies. the output power are reported in table 28: pa_level . 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b0$;b,1'(; hj 7kh3$xvhvwklvvhwwlqj vwhdg\vwdwhohyho  6hwwlqjv3$b/(9(/bwr3$b/(9(/b duh xvhg gxulqj udpsxs dw vwduw ri wudqvplvvlrq dqg udpsgrzq dw hqg ri wudqvplvvlrq dqg iru $6. prgxodwlrq dovr  3$b5$03b67(3b:,'7+ 2xwsxw3rzhu /hyhov 7lph 3$b/(9(/b0$;b,1'(; 3$b5$03b67(3b:,'7+  3$b/(9(/b0$;b,1'(; 3$b5$03b67(3b:,'7+  3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 6wduw7; 6wrs7; $09
docid022758 rev 5 51/101 spirit1 transmission and reception 9.2 rf channel frequency settings rf channels can be defined using the chspace and chnum registers. the channel center frequency can be programmed as: equation 2 this allows the setting of up to 256 channels with a programmable raster. the raster granularity is about 793 hz at 26 mhz and becomes about 1587 hz at 52 mhz. the actual channel spacing is from 793 hz to 202342 hz in 793 hz steps for the 26 mhz configuration and from 1587 to 404685 hz in 1587 hz steps for the 52 mhz configuration. the base carrier frequency, i.e. the carrier frequency of channel #0, is controlled by the synt0, synt1, synt2, and synt3 registers according to the following formula: equation 3 where: ? f xo is the frequency of the xtal oscillator (typically 24 mhz, 26 mhz, 48 mhz, or 52 mhz) ? synt is a programmable 26-bit integer. equation 4 equation 5 the offset frequency is a correction term which can be set to compensate the crystal inaccuracy after e.g. lab calibration. equation 6 chnum chspace 2 f f f f 15 xo offset base c ? ? ? ? ? ? ? ? + + = 18 xo base 2 synt 2 d) * (b f = f = = = = = 2 3r o fe h t w o ld n a b(9 6 1z h m,s b5) 6 1r o f e h t w o l d n a b z h m 0 0 3 ( o t , z h m 8 4 3 s b ) 4 2 1r o f e h t e l d d i m d n a b z h m 7 8 3 ( o t , z h m 0 7 4 s b ) 3 6r o f e h t h g i h d n a b m o r f ( z h m 9 7 7 o t , z h m 6 5 9 s b ) 1 b very { { d 1 if refdiv 0 (internal reference divider is disabled) 2 if refdiv 1 (internal reference divider is enabled) ? ? ? = offset _ fc 2 f f 18 xo offset ? =
transmission and reception spirit1 52/101 docid022758 rev 5 where: ? fc_offset is a 12-bit integer (expressed as 2's complement number) set by the fc_offset[1:0] registers furthermore, the selection between vcoh (?high?) and vcol (?low?) in the frequency synthesizer according to the band selected and the vco threshold is required. if the center frequency is below the frequency threshold for that frequency band, the vco_l must be selected by setting the bit 2 vco_l_sel field in the synth_config register. if the center frequency is above the frequency threshold for that frequency band, vco_h must be selected by setting the bit 1 vco_ h _sel field in the synth_config register. the user must make sure that actual frequency programming is inside the specified frequency range. the accuracy of the offset is about 99 hz for the 26 mhz reference and about 198 hz for the 52 mhz reference. 9.3 rx timeout management in spirit1, the rx state is specifically time monitored in order to minimize power consumption. this is done by a rx timeout approach, which aborts the reception after rx timeout expiration. the timer used to control rx timeout is controlled by the registers rx_timeout_prescaler and rx_timeout_counter . however, to avoid the reception to be interrupted during a valid packet, a number of options to stop the timeout timer are available for the user. they are based on the received signal quality indicators (see section 9.10 for a full description of them): ? cs valid ? sqi valid ? pqi valid more specifically, both 'and' or 'or' boolean relationships among any of them can be configured. this is done using the selection bit rx_timeout_and_or_select in pckt_flt_options register. to choose which of the quality indicators should be taken into account in the and/or boolean relationship, the user should use the mask bits available in the protocol[2] register. the full true-table including any logical and/or among such conditions is reported in ta ble 30 . table 29. frequency threshold frequency threshold for each band (mhz) (1) 1. by default, the vco_h is selected. very low band low band middle band high band 161281250 322562500 430083334 860166667
docid022758 rev 5 53/101 spirit1 transmission and reception when reception is aborted on timeout expiration, the packet is considered not valid and will be discarded. it is responsibility of the user to choose the proper boolean condition that suit its application. in particular, it is required to include always sqi valid check, to avoid to stay in rx state for unlimited time, if timeout is stopped but no valid sqi is detected (in such cases, the rx state can be left using a sabort command). it is also important to notice that, in case a packet is received, that the timeout is stopped by some of the conditions in order to get an rx data ready interrupt, otherwise spirit1 will wait in rx mode for the rx timeout to expire anyway. 9.4 intermediate frequency setting the intermediate frequency (if) is controlled by the registers if_offset_ana and if_offset_dig, and can be set as: table 30. rx timeout stop condition configuration rx_timeout_ and_or_select cs_timeout_mask sqi_timeout _mask pqi_timeout_m ask description 0000 the rx timeout never expires and the reception ends at the reception of the packet 1000 the rx timeout cannot be stopped. it starts at the rx state and at the end expires (default) x 1 0 0 rssi above threshold x 0 1 0 sqi above threshold x 0 0 1 pqi above threshold 0110 both rssi and sqi above threshold 0101 both rssi and pqi above threshold 0011 both sqi and pqi above threshold 0 1 1 1 all above threshold 1110 rssi or sqi above threshold 1101 rssi or pqi above threshold 1011 sqi or pqi above threshold 1 1 1 1 any above threshold
transmission and reception spirit1 54/101 docid022758 rev 5 equation 7 equation 8 where f xo is the xtal oscillator frequency (24, 25, 26, 48, 50 or 52 mhz) and f clk is the digital clock frequency (24, 25 or 26 mhz). the recommended if value is about 480 khz resulting in the following register setting: 9.5 modulation scheme the following modulation formats are supported: 2-fsk, gfsk, msk, ook, and ask. the actual modulation format used is controlled by the mod_type field of the mod0 register: ? mod_type = ? 0 (00): 2-fsk ? 1 (01): gfsk ? 2 (10): ask/ook ? 3 (11): msk in 2-fsk and gfsk modes, the frequency deviation is controlled by the fdev register according to the following formula: equation 9 table 31. if_offset settings if_offset_ana if_offset_dig f if [khz] f xo [mhz] 0xb6 0xb6 480.469 24 0xac 0xac 480.143 25 0xa3 0xa3 480.306 26 0x3b 0xb6 480.469 48 0x36 0xac 480.143 50 0x31 0xa3 480.140 52 if_offset_ana round f if f xo -------- - 32 12 64 ? ?? ?? ?? ? = if_offset_dig round f if f clk ----------- 32 12 64 ? ?? ?? ?? ? = f dev f xo floor 8 ( ( fdev_m ) + 2 fdev_e 1 ? ) ? 2 18 ------------------------------------------------------------------------------------------- - =
docid022758 rev 5 55/101 spirit1 transmission and reception where: ? f xo is the xtal oscillator frequency (typically 26 mhz or 52 mhz). ? fdev_m is a 3-bit integer ranging from 0 to 7 ? fdev_e is a 4-bit integer ranging from 0 to 9. the f dev values obtainable are then: for f xo = 52 mhz for f xo = 26 mhz with this solution the maximum deviation for the 26 mhz case is limited to about 355 khz, but this is still acceptable since the maximum useful deviation is about 125 khz (msk @ 500 kbps). in gfsk mode the gaussian filter bt product can be set to 1 or 0.5 by the field bt_sel of the mod0 register. in msk mode, the frequency deviation is automatically set to ? of the data rate and the content of the fdev register is ignored. e/m01234567 0 793.5 793.5 991.8 991.8 1190.2 1190.2 1388.5 1388.5 1 1586.9 1785.3 1983.6 2182.0 2380.4 2578.7 2777.1 2975.5 2 3173.8 3570.6 3967.3 4364.0 4760.7 5157.5 5554.2 5950.9 3 6347.7 7141.1 7934.6 8728.0 9521.5 10314.9 11108.4 11901.9 4 12695.3 14282.2 15869.1 17456.1 19043.0 20629.9 22216.8 23803.7 5 25390.6 28564.5 31738.3 34912.1 38085.9 41259.8 44433.6 47607.4 6 50781.3 57128.9 63476.6 69824.2 76171.9 82519.5 88867.2 95214.8 7 101562.5 114257.8 126953.1 139648.4 152343.8 165039.1 177734.4 190429.7 8 203125.0 228515.6 253906.3 279296.9 304687.5 330078.1 355468.8 380859.4 9 406250.0 457031.3 507812.5 558593.8 609375.0 660156.3 710937.5 761718.8 e/m01234567 0 396.7 396.7 495.9 495.9 595.1 595.1 694.3 694.3 1 793.5 892.6 991.8 1091.0 1190.2 1289.4 1388.5 1487.7 2 1586.9 1785.3 1983.6 2182.0 2380.4 2578.7 2777.1 2975.5 3 3173.8 3570.6 3967.3 4364.0 4760.7 5157.5 5554.2 5950.9 4 6347.7 7141.1 7934.6 8728.0 9521.5 10314.9 11108.4 11901.9 5 12695.3 14282.2 15869.1 17456.1 19043.0 20629.9 22216.8 23803.7 6 25390.6 28564.5 31738.3 34912.1 38085.9 41259.8 44433.6 47607.4 7 50781.3 57128.9 63476.6 69824.2 76171.9 82519.5 88867.2 95214.8 8 101562.5 114257.8 126953.1 139648.4 152343.8 165039.1 177734.4 190429.7 9 203125.0 228515.6 253906.3 279296.9 304687.5 330078.1 355468.8 380859.4
transmission and reception spirit1 56/101 docid022758 rev 5 the calculation done inside the modem assumes that the digital clock is equal to the synthesizer reference. hence, in the 52-mhz case the msk can actually be configured by setting the frequency deviation to ? of the data rate through the fdev registers as for normal 2-fsk. the same is true for gmsk mode, which can be configured by setting the frequency deviation to ? of the data rate through the fdev registers as for normal gfsk with gaussian filter bt equal to 1 or 0.5. ook and ask if mod_type = 2 and power ramping is enabled, then ask is used; otherwise, if mod_type = 2 and power ramping is disabled, then ook is used. when ook is selected, a bit '1' is transmitted with the power specified by pa_power[pa_level_max_index], a bit '0' is transmitted with the power specified by pa_power[0](normally set to pa off). when ask is selected, a bit '1' is transmitted with a power ramp increasing from pa_power[0] to pa_power[pa_level_max_index], a bit '0' is transmitted with a power ramp decreasing from pa_power[pa_level_max_index] to pa_power[0]. the duration of each power step is 1/8 of the symbol time. if more '1's are transmitted consecutively, the pa power remains at pa_power[pa_level_max_index] for all '1's following the first one; if more '0's are transmitted consecutively, the pa power remains at pa_power[0] for all '0's following the first one. cw mode for test and measurement purposes the device can be programmed to generate a continuous wave carrier without any modulation by setting the cw field of the mod0 register. in transmission, a txsource like pn9 should be configured to keep the transmitter in tx state for an undefined period of time. in reception, this mode can be also chosen to analyze the rx performance; in this case an infinite rx timeout should be configured to keep the spirit1 in rx state. 9.5.1 data rate the data rate is controlled by the mod0 and mod1 registers according to the following formula: equation 10 where: ? datarate_m is an 8-bit integer ranging from 0 to 255 ? datarate_e is a 4-bit integer ranging from 0 to 15 ? f clk is the digital clock frequency (typically 26 mhz). the minimum data rate at f clk = 26 mhz is about 25 hz; the maximum data rate is about 1.6 mhz. be advised that performance for such values is not guaranteed. datarate f clk 256 data_rate_m + () 2 datarate_e ? 2 28 ------------------------------------------------------------------------------------------------------- ? =
docid022758 rev 5 57/101 spirit1 transmission and reception 9.5.2 rx channel bandwidth the bandwidth of the channel filter is controlled by the chflt_m and chflt_e fields of the chflt register according to tables below. the actual filter bandwidth for any digital clock frequency can be obtained by multiplying the values in the tables below by the factor f clk /26000000. although the maximum tx signal bw should not exceed 750 khz, the bandwidth of the channel select filter in the receiver may need some extra bandwidth to cope with tolerances in transmit and receive frequencies which depend on the tolerances of the used crystals. table 32. chflt_m and chflt_e value for channel filter bandwidth (in khz, for f clk = 24 mhz) e=0 e=1 e=2 e=3 e=4 e=5 e=6 e=7 e=8 e=9 m=0 738.6 416.2 207.4 103.7 51.8 25.8 12.9 6.5 3.2 1.7 m=1 733.9 393.1 196.1 98.0 48.9 24.5 12.3 6.1 3.0 1.6 m=2 709.3 372.2 185.6 92.8 46.3 23.2 11.6 5.8 2.9 1.5 m=3 680.1 351.5 175.4 87.7 43.8 21.9 11.0 5.4 2.8 1.4 m=4 650.9 334.2 166.8 83.4 41.6 20.9 10.4 5.2 2.6 1.3 m=5 619.3 315.4 157.5 78.7 39.3 19.7 9.8 4.9 2.5 1.2 m=6 592.9 300.4 149.9 75.0 37.5 18.7 9.3 4.7 2.3 1.2 m=7 541.6 271.8 135.8 67.8 33.9 17.0 8.5 4.2 2.1 1.1 m=8 499.8 249.5 124.6 62.3 31.1 15.6 7.8 3.9 1.9 1.0 table 33. chflt_m and chflt_e value for channel filter bandwidth (in khz, for f clk = 26 mhz) e=0 e=1 e=2 e=3 e=4 e=5 e=6 e=7 e=8 e=9 m=0 800.1 450.9 224.7 112.3 56.1 28.0 14.0 7.0 3.5 1.8 m=1 795.1 425.9 212.4 106.2 53.0 26.5 13.3 6.6 3.3 1.7 m=2 768.4 403.2 201.1 100.5 50.2 25.1 12.6 6.3 3.1 1.6 m=3 736.8 380.8 190.0 95.0 47.4 23.7 11.9 5.9 3.0 1.5 m=4 705.1 362.1 180.7 90.3 45.1 22.6 11.3 5.6 2.8 1.4 m=5 670.9 341.7 170.6 85.3 42.6 21.3 10.6 5.3 2.7 1.3 m=6 642.3 325.4 162.4 81.2 40.6 20.3 10.1 5.1 2.5 1.3 m=7 586.7 294.5 147.1 73.5 36.7 18.4 9.2 4.6 2.3 1.2 m=8 541.4 270.3 135.0 67.5 33.7 16.9 8.4 4.2 2.1 1.1
transmission and reception spirit1 58/101 docid022758 rev 5 9.6 data coding and integrity check process 9.6.1 fec the device provides hardware support for error correction and detection. error correction can be either enabled or disabled according to link reliability and power consumption needs. convolutional coding with a rate=? and k=4 is applied on the payload and crc before transmission (poly [13,17]). on the receiver side, error correction is performed using soft viterbi decoding. to further improve error correction performance, a data interleaver is used when convolutional coding is enabled. data interleaving/de-interleaving is performed using a 4x4- bit matrix interleaver. to fill the entire matrix, at least 2 bytes of data payload are required (16 cells). in the interleaver matrix, the encoded data bits are written along the rows and the sequence to send to the modulator is obtained by reading the matrix elements along the columns of the matrix. consequently, in the de-interleaver, the received data from the demodulator are written into the matrix along the columns, and sent to the fec decoder reading them from the rows of the de-interleaving matrix. due to the size of the matrix, the overall data transmitted must be an exact integer multiple of two, to fill the rows and columns of the matrix. if necessary, the framer is able to add automatically extra bytes at the end of the packet, so the number of bytes is an number. fec and interleaving are enabled/disabled together. to enable fec/interl, the field fec_en of pcktctrl1 must be set to ?1?. when fec/interl is enabled, the number of transmitted bits is roughly doubled, hence the on-air packet duration in time is roughly doubled as well. the data rate specified in section 9.5.1 always applies to the on-air transmitted data. a termination byte is automatically appended to set the encoder to the 0-state at the end of the packet. 9.6.2 crc error detection is implemented by means of cyclic redundancy check codes. the length of the checksum is programmable to 8, 16, or 24 bits. the crc can be added at the end of the packet by the field crc_mode of the register pckctrl1. the following standard crc polynomials can be selected: ? crc mode = 1, 8 bits: the poly is (0x07) x 8 +x 2 +x+1 ? crc mode = 2, 16 bits: the poly is (0x8005) x 16 +x 15 +x 2 +1 ? crc mode = 3, 16 bits: the poly is (0x1021) x 16 +x 12 +x 5 +1 ? crc mode = 4, 24 bits: the poly is (0x864cfb) x 24 +x 23 +x 18 +x 17 +x 14 +x 11 +x 10 +x 7 +x 6 +x 5 +x 4 +x 3 +x+1 ? crc is calculated over all fields excluding preamble and sync word.
docid022758 rev 5 59/101 spirit1 transmission and reception 9.6.3 data whitening to prevent short repeating sequences (e.g., runs of 0's or 1's) that create spectral lines, which may complicate symbol tracking at the receiver or interferer with other transmissions, the device implements a data whitening feature. data whitening can optionally be enabled by setting the filed whit_en of the pcktctrl1 register to '1'. data whitening is implemented by a maximum length lfsr generating a pseudo-random binary sequence used to xor data before entering the encoding chain. the length of the lsfr is set to 9 bits. the pseudo-random sequence is initialized to all 1's. data whitening, if enabled, is applied on all fields excluding the preamble and the sync words. at the receiver end, the data are xor-ed with the same pseudo-random sequence. whitening is applied according to the following lfsr implementation: figure 11. lfsr block diagram it is recommended to always enable data whitening. 9.6.4 data padding if fec is enabled then the total length of payload and crc must be an even number (in order to completely fill up the interleaver). if not, a proper filling byte is automatically inserted in transmission and removed by the receiver. the total packet length is affected, and it is configured automatically enabling the fec. 9.7 packet handler engine before on-the-air transmission, raw data is properly cast into a packet structure. the spirit1 offers a highly flexible and fully programmable packet; the structure of the packet, the number, the type, and the dimension of the fields inside the packet depend on one of the possible configuration settings. through a suitable register the user can choose the packet configuration from three options: stack, wm-bus, and basic. am03940v1 tout tx 0 1 2 3 4 5 6 7 8
transmission and reception spirit1 60/101 docid022758 rev 5 the current packet format is set by the pck_frmt field of the pcktctrl3 register. in particular: ? 0 basic packet format ? 2 mbus packet format ? 3 stack packet format. the general packet parameters which can be set by the user are listed and described hereafter. some particular restrictions are possible depending on the selected packet format. 9.7.1 stack packet preamble (programmable field): the length of the preamble is programmable from 1 to 32 bytes by the preamble_length field of the pcktctrl2 register. each preamble byte is a '10101010' binary sequence. sync (programmable field): the length of the synchronization field is programmable (from 1 to 4 bytes) through dedicated registers. the sync word is programmable through registers sync1, sync2, sync3, and sync4. if the programmed sync length is 1 then only the sync1 word is transmitted; if the programmed sync length is 2 then only sync1 and sync2 words are transmitted and so on. length (programmable/optional field): the packet length field is an optional field that is defined as the cumulative length of address (2 bytes always), control, and payload fields. it is possible to support fixed and variable packet length. in fixed mode, the field length is not used. destination address (programmable field): when the destination address filtering is enabled in the receiver, the packet handler engine compares the destination address field of the packet received with the value of register tx_source_addr. if broadcast address and/or multicast address filtering are enabled the packet handler engine compares the destination address with the programmed broadcast and/or multicast address. source address (programmable field): is filled with the value of register tx_source_addr. when source address filtering is enabled in the receiver, the packet handler engine compares the source address received with the programmed source address reference using the source mask address programmed. the field address_len of the pcktctrl4 register must be set always to 2. control (programmable/optional field): is programmable from 0 to 4 bytes through the control_len field of the pcktctrl4 register. control fields of the packet can be set using the tx_ctrl_field[3:0] register. sequence number (programmable field): is a 2-bit field and contains the sequence number of the transmitted packet. it is incremented automatically every time a new packet is transmitted. it can be re-loaded with the value in the tx_seq_num_reload[1:0] field of the protocol[2] register, by using the sequence_update command. 1-32 1-4 0-16 bit 1 1 0-4 2 bit 1 bit 0-65535 0-3 preambl e sync length dest. address source address control seq. no. no_ack payload crc
docid022758 rev 5 61/101 spirit1 transmission and reception no_ack (programmable field): 1 means for the receiver that the packet is not to be auto- acknowledged. it is programmed by the bit field nack_tx of the register protocol[2]. it is important set to 0 this bit field in any other packet format. payload (programmable/optional field): the device supports both fixed and variable payload length transmission from 0 to 65535 bytes. on the transmitter, the payload length is always set as: pcktlen1 256 + pcktlen0. on the receiver, if the field fix_var_len of the pcktctrl2 register is set to 1, the payload length is directly extracted from the received packet itself; if fix_var_len is set to 0, the payload length is controlled by the pcktlen0 and pcktlen1 registers as the transmitter. in variable length mode, the width of the binary field transmitted, where the actual length of payload is written, can be configured through the field len_width of the pcktctrl3 register according to the maximum length expected in the specific application. example 1 ? if the variable payload length is from 0 to 31 bytes, then len_width = 5 ? if the variable payload length is from 0 to 255 bytes, then len_width = 8 ? if the variable payload length is from 0 to 65535 bytes, then len_width = 16. crc (programmable/optional field) : there are different polynomials crc: 8 bits, 16 bits (2 polynomials are available) and 24 bits. when crc automatic filtering is enabled, the received packet is discarded automatically when crc check fails. 9.7.2 wireless m-bus packet (w m-bus, en13757-4) the wm-bus packet structure is shown in the figure below (refer to en13757 for details about sub-mode specific radio setting). the preamble consists of a number of chip sequences '01' whose length depends on the chosen sub-mode according to en13757-4. the length can be programmed using the mbus_prmbl_ctrl, from a minimum to a maximum dictated from the standard specification. 1st block, 2nd block, and optional blocks: can be defined by the user. the packet handler engine uses the manchester or the ?3 out of 6? encoding for all the blocks according to the defined sub-mode. the postamble consists of a number of chip sequences '01' whose length depends on the chosen sub-mode according to en13757-4. the length can be programmed using the mbus_pstmbl_ctrl, from a minimum to a maximum dictated from the standard specification. bytes nx(01) nx(01) preamble sync 1 st block 2 nd block opt. blocks postamble manchester or 3 out of 6 encoding
transmission and reception spirit1 62/101 docid022758 rev 5 the sub-mode can be chosen setting the mbus_submode[2:0] field of the mbus_ctrl register. there are 5 possible cases: ? submode s1, s2 (long header) (mbus_submode=0): ? header length = mbus_prmbl_ctrl + 279 (in '01' bit pairs) ? sync word = 0x7696 (length 18 bits) ? submode s1-m, s2, t2 (other to meter) (mbus_submode =1): ? header length = mbus_prmbl_ctrl + 15 (in '01' bit pairs) ? sync word = 0x7696 (length 18 bits) ? submode t1, t2 (meter to other) (mbus_submode =3): ? header length = mbus_prmbl_ctrl + 19 (in '01' bit pairs) ? sync word = 0x3d (length 10 bits) ? submode r2, short header (mbus_submode =5): ? header length = mbus_prmbl_ctrl + 39 (in '01' bit pairs) ? sync word = 0x7696 (length 18 bits). ? submode n1, n2, short header: ? header length = 8 (in '01' bit pairs) ? sync word = 0xf68d (length 18 bits). 9.7.3 basic packet preamble (programmable field): the length of the preamble is programmable from 1 to 32 bytes by the preamble_length field of the pcktctrl2 register. each preamble byte is a '10101010' binary sequence. sync (programmable field): the length of the synchronization field is programmable (from 1 to 4 bytes) through dedicated registers. the sync word is programmable through registers sync1, sync2, sync3, and sync4. if the programmed sync length is 1, then only sync word is transmitted; if the programmed sync length is 2 then only sync1 and sync2 words are transmitted and so on. length (programmable/optional field): the packet length field is an optional field that is defined as the cumulative length of address, control, and payload fields. it is possible to support fixed and variable packet length. in fixed mode, the field length is not used. destination address (programmable/optional field): when the destination address filtering is enabled in the receiver, the packet handler engine compares the destination address field of the packet received with the value of r egister tx_source_addr. if broadcas t address and/or multicast address filtering are enabled, the packet handler engine compares the destination address with the programmed broadcast and/or multicast address. control (programmable/optional field): is programmable from 0 to 4 bytes through the control_len field of the pcktctrl4 register. control fields of the packet can be set using the tx_ctrl_field[3:0] register. payload (programmable/optional field): the device supports both fixed and variable payload length transmission from 0 to 65535 bytes. 1-32 1-4 0-16 bit 0-1 0-4 0-65535 0-3 preamble sync length address control payload crc
docid022758 rev 5 63/101 spirit1 transmission and reception on the transmitter, the payload length is always set as: pcktlen1 256 + pcktlen0. on the receiver, if the field fix_var_len of pcktctrl2 register is set to 1, the payload length is directly extracted from the received packet itself; if fix_var_len is set to 0, the payload length is controlled by the pcktlen0 and pcktlen1 registers as the transmitter. furthermore, in variable length mode, the width of the binary field transmitted, where the actual length of payload is written, must be configured through the field len_width of the pcktctrl3 register according to the maximum length expected in the specific application. example 1 ? if the variable payload length is from 0 to 31 bytes, then len_width = 5 ? if the variable payload length is from 0 to 255 bytes, then len_width = 8 ? if the variable payload length is from 0 to 65535 bytes, then len_width = 16. crc (programmable/optional field) : there are different polynomials crc: 8 bits, 16 bits (2 polynomials are available) and 24 bits. when the crc automatic filtering is enabled, the received packet is discarded automatically when the crc check fails. 9.7.4 automatic packet filtering the following filtering criteria to automatically reject a received packet are supported: ? crc filtering ? destination address filtering ? source address filtering ? control field filtering. packet filtering is enabled by the auto_pckt_flt field of the protocol register and the filtering criteria can be controlled by the pck_flt_opt and pck_flt_goals registers. each filtering option works on the correct packet format according to table 34 . ? crc : the received packet is discarded if crc is not passed. to enable this automatic filtering feature the bit field crc_check of the pck_flt_opt register must be set. ? destination address : this automatic filtering feature works on my address, broadcast address and/or multicast address of the receiver. ? destination vs. my address : the received packet is discarded if the destination address received does not match the programmed my address of the receiver. my address can be programmed for the receiver in the tx_source_addr register. to enable this automatic filtering option the bitfield dest_vs_source_addr of the pckt_flt_options register must be set. ? destination vs. broadcast address : the received packet is discarded if the destination address received does not match the programmed broadcast address of the receiver. the broadcast address can be programmed for the receiver in the broadcast register. to enable this automatic filtering option the bitfield dest_vs_broadcast_addr of the pckt_flt_options register must be set. ? destination vs. multicast address : the received packet is discarded if the destination address received does not match the programmed multicast address of the receiver. the multicast address can be programmed for the receiver in the multicast register. to enable this automatic filtering option the bitfield
transmission and reception spirit1 64/101 docid022758 rev 5 dest_vs_multicast_addr of the pckt_flt_options register must be set. more than one automatic filtering option can be enabled at the same time. source address : the received packet is discarded if the source address received does not match the programmed source address reference through the source mask address (the reference value used for the comparison is the reference one in and bitwise with the source mask). the source address reference can be programmed for the receiver in the rx_source_addr register and the source address mask in the rx_source_mask register. to enable this autom atic filtering option the bitf ield source_filtering of the pckt_flt_options register must be set. control : the received packet is discarded if the control field received does not match the programmed control reference through the control mask (the reference value used for the comparison is the reference one in and bitwise with the control mask). the control reference can be programmed for the receiver in the controlx_field registers and the control field mask in the controlx_mask registers. to enable this automatic filtering option the bitfield control_filtering of the pckt_flt_options register must be set. when a filtering mechanism is enabled the packet is signaled to the mcu only if the check is positive, otherwise the packet is automatically discarded. 9.7.5 link layer protocol spirit1 has an embedded auto-ack and auto-retransmission available through the stack packet format. automatic acknowledgment automatic acknowledgment is enabled on the receiver by setting the bitfield auto_ack of the protocol register. in this way, after the receiver receives a packet with success, it sends an ack packet only if the no_ack bit of the received packet is 1. this gives an opportunity for the transmitter to tell the receiver if the packet sent must be acknowledged or not. the ack request can be put in the packet (no_ack packet's bitfield at 1) by setting the nack_tx field of the protocol[2] register. table 34. packet configuration stack mbus basic destination address filtering optional no optional broadcast and multicast addressing optional no optional source address filtering optional no no custom filtering optional no optional crc filtering optional no optional
docid022758 rev 5 65/101 spirit1 transmission and reception if the ack request is on (no_ack packet's bitfield at 1), the transmitter stays in rx state to receive an ack packet until the rx timeout, programmed with the rx_timeout_prescaler and rx _timeout_counter, expires. if the transmitter does not receive any ack packet when it must, the packet transmitted is considered lost, and the tx_data_sent in the irq_status register remains at 0. automatic acknowledgment with piggybacking the receiver can fill the ack packet with data. to do so, the receiver must fill the tx fifo with the payload it must transmit and the bitfield piggybacking of protocol[1] register must be set. with the automatic acknowledgement enabled, the tx strobe is not supported and must not be sent. automatic retransmission if the transmitter does not receive the ack packet, it can be configured to do another transmission. this operation can be repeated up to 15 times. to configure how many times this operation must be performed, the field nmax_retx of the protocol[2] register is used. with the automatic retransmission enabled the rx strobe is not supported and must not be sent. using the automatic retransmission the payload must be loaded into the tx fifo register with a single write fifo operation in ready state. 9.8 data modes direct modes are primarily intended to completely bypass all the framer/deframer operations, in order to give the user maximum flexibility in the choice of frame formats, controlled by the field txsource of the pcktctrl1 register. in particular: txsource = ? 0 - normal modes ? 1 - direct through fifo: the packet is written in tx fifo. the user build the packet according to his need including preamble, payload and soon on. the data are transmitted without any processing. ? 2 - direct through gpio: the packet bits are continuously read from one of the gpio pins, properly configured, and transmitted without any processing. to allow the synchronization of an external data source, a data clock signal is also provided on one of the gpio pins. data are sampled by the device on the rising edge of such clock signal; it is the responsibility of the external data source to provide a stable input at this edge. ? 3 - pn9 mode: a pseudo-random binary sequence is generated internally. this mode is provided for test purposes only. to improve flexibility, the entire packet related functions can be bypassed and the device can operate in one of the following direct modes, controlled by the field rxmode of pcktctrl3. in particular:
transmission and reception spirit1 66/101 docid022758 rev 5 rxmode = ? 0 - normal modes ? 1 - direct through fifo: the packet bytes are continuously received and written to the rx fifo without any processing. it is the responsibility of the microcontroller to avoid any overflow conditions on the rx fifo. ? 2 - direct through gpio: the packet bits are continuously written to one of the gpio pins without any processing. to allow the synchronization of an external data sink, a data clock signal is also provided on one of the gpio pins. data are updated by the device on the falling edge of such clock signal so the mcu must read it during falling edge of clk. 9.9 data fifo in the spirit1 there are two data fifos, a tx fifo for data to be transmitted and an rx fifo for the received data. the length of both fifos is 96 bytes. the spi interface is used to read from the rx fifo and write to the tx fifo (see figure 12 ) starting from the address 0xff.
docid022758 rev 5 67/101 spirit1 transmission and reception figure 12. threshold of the linear fifo the fifo has two programmable thresholds: fifo almost full and fifo almost empty. the fifo almost full event occurs when the data crosses the threshold from below to above. the tx fifo almost empty threshold can be configured using the field txaethr in the fifo_config[0] register. the rx fifo almost empty threshold can be configured using the field rxaethr in the fifo_config[2] register. the fifo almost empty event occurs when the data crosses the threshold from above to below. the tx fifo almost full threshold can be configured using the field txafthr in the fifo_config[1] register. the rx fifo almost full threshold can be configured using the field rxafthr in the fifo_config[3] register. another event occurs when the fifo goes into overflow or underflow. the overflow happens when the data in the fifo are more than 96 bytes. the underflow happens when the spirit1 accesses the fifo locations to read data, but there is no data present. ),)2 ),)2doprvwixoo wkuhvkrog ),)2doprvwhpsw\ wkuhvkrog $09
transmission and reception spirit1 68/101 docid022758 rev 5 for example: ? if it reads from the rx fifo more data than the actual number of bytes in it, the rx fifo underflow/overflow error occurs for an underflow event. ? if the spirit1 receives a lot of data to fill the rx fifo and exceeds the 96 bytes limit, an rx fifo underflow/overflow error occurs for an overflow event. ? if it sends more data than the actual number of bytes in the tx fifo, the tx fifo underflow/overflow error occurs for an underflow event. ? if it writes more than 96 bytes in the tx fifo, a tx fifo underflow/overflow error occurs for an overflow event. an easy way to clean the fifos is to use the flush commands: flushtxfifo for the tx fifo and flushrxfifo for the rx fifo. the write tx fifo operation needs an extra spi transaction to write correctly the last byte into the tx fifo. usually, this last spi transaction is generated from the tx command sent to transmit the data, otherwise a dummy spi transaction must be done. using the auto-retransmission feature of the spirit1 (packet format stack), if the packet is more than 96 bytes, the packet must be reloaded into the tx fifo by the mcu. however, if the payload is 96 bytes or less, the spirit1 handles the payload and it is not necessary to reload the data into the tx fifo at each retransmission. ? in addition, if the transmitter does not receive the ack packet, the payload remains in the tx fifo. the user can decide to clean the tx fifo or re-send the data again. if the payload is more than 96 bytes, only the last part of the payload that fits the tx fifo remains in it. 9.10 receiver quality indicators the following quality indicators are associated to the received signal: ? received signal strength indicator (rssi) ? link quality indicator (lqi) ? preamble quality indicator (pqi) ? synchronization quality indicator (sqi). 9.10.1 rssi the received signal strength indicator (rssi) is a measurement of the received signal power at the antenna measured in the channel filter bandwidth. rssi reading is available after the reception of a packet in the rssi_level register. the measured power is reported in steps of 0.5 db according to the following formula: the rssi value is updated in the rssi_level register when the spirit1 exits from the rx state by sabort command, rx timeout expiration or at the sync word detected event. rssi rssi_level/2 130 ? =
docid022758 rev 5 69/101 spirit1 transmission and reception 9.10.2 carrier sense the carrier sense functionality can be used to detect if any signal is being received, the detection is based on the measured rssi value. there are 2 operational modes for carrier sensing: static and dynamic. when static carrier sensing is used (cs_mode = 0), the carrier sense signal is asserted when the measured rssi is above the value specified in the rssi_th register and is de- asserted when the rssi falls 3 db below the same threshold. when dynamic carrier sense is used (cs_mode = 1, 2, 3), the carrier sense signal is asserted if the signal is above the threshold and a fast power increase of 6, 12, or 18 db is detected; it is de-asserted if a power fall of the same amplitude is detected. the carrier sense signal is also used internally for the demodulator to start the afc and symbol timing recovery algorithms and for the csma procedure (for this use it should be set to cs_mode = 0). the carrier sense function is controlled by the following parameters: rssi threshold:when the rssi threshold is exceeded, the afc and the symbol timing recovery algorithm start to work with the stream of data. to maximize the sensitivity, the rssi threshold should be set around 3 db below the expected sensitivity level. the rssi_th register and the effective rssi threshold value are linked by the following formula: cs mode: this parameter controls the carrier sense operational modes (rssi_flt register, allowed values 0...3): ? cs_mode = 0 static carrier sensing ? cs_mode = 1 dynamic carrier sensing with 6 db dynamic threshold ? cs_mode = 2 dynamic carrier sensing with 12 db dynamic threshold ? cs_mode = 3 dynamic carrier sensing with 18 db dynamic threshold. 9.10.3 lqi the link quality indicator is a 4-bit value available through the link_qualif[0] register. its value depends on the noise power on the demodulated signal. the lower the value, the noisier the signal. be aware that comparing lqi values measured with different modulation formats or data rate may lead to inconsistent results. 9.10.4 pqi the preamble quality indicator (pqi) is intended to provide a measurement of the reliability of the preamble detection phase. this indicator counts the number of consecutive bit inversions in the received data stream. the pqi ranges from 0 to 255. it is increased by 1 every time a bit inversion occurs, while it is decreased by 4 every time a bit repetition occurs. it is possible to set a preamble quality threshold in such a way that, if pqi is below the threshold, the packet demodulation is automatically aborted at/after a timeout after the start of rx. rssi_th 2 rssi_threshold_dbm 130 + () ? =
transmission and reception spirit1 70/101 docid022758 rev 5 if the preamble quality indicator check is enabled (field pqi_en of the qi register set to '1'), the running peak pqi is compared to a threshold value and the preamble valid irq is asserted as soon as the threshold is passed. the preamble quality threshold is 4pqi_th (pqi_th = 0...15). 9.10.5 sqi the synchronization quality indicator (sqi) is a measurement of the best correlation between the received sync word and the expected one. the value representing a perfect match is 8sync_length. this indicator is calculated as the peak cross-correlation between the received data stream and the expected sync word. it is possible to set a synchronization quality threshold in such a way that, if sqi is below the threshold, the packet demodulation is automatically aborted. if the synchronization quality indicator check is enabled (field sqi_en of the qi register set to '1'), the running peak sqi is compared to a threshold value and the sync valid irq is asserted as soon as the threshold is passed. the sync quality threshold is equal to 8 sync_len - 2xsqi_th with sqi_th = 0..3. when sqi_th is 0, a perfect match is required; when sqi_th = 1, 2, 3 then 1, 2, or 3-bit errors are respectively accepted. it is recommended to always enable the sqi check. rx timeout mechanism in order to reduce power consumption, a few automatic rx timeout modes are supported. rx timeout applies both to normal receive mode and to the ldcr mode. infinite timeout: in this mode rx is stopped when the packet ends or the sabort command strobe is issued (default). carrier sense timeout: rx is aborted if the rssi never exceeds a programmed threshold within rx timeout. sqi timeout: in this mode rx is aborted if the synchronization quality indicator (sqi) never exceeds a programmed threshold within rx timeout. pqi timeout: in this mode rx is aborted if the preamble quality indicator (pqi) never exceeds a programmed threshold within rx timeout. the value of rx timeout can be programmed ranging from ~1 s to ~3 sec. 9.11 antenna diversity the device implements a switching based antenna diversity algorithm. the switching decision is based on a comparison between the received power level on antenna 1 and antenna 2 during the preamble reception. the antenna switching function allows to control an external switch in order to select the antenna providing the highest measured rssi. when antenna switching is enabled, the two antennas are repeatedly switched during the reception of the preamble of each packet, until the carrier sense threshold is reached (c) (static carrier sense mode must be used). from this point on, the antenna with the highest
docid022758 rev 5 71/101 spirit1 transmission and reception power is selected and switching is frozen. the switch control signal is available on gpio and in the mc_state[1] register. the algorithm is controlled by the following parameters: ? as_meas_time: this parameter controls the time interval for rssi measurement (ant_select_conf register, allowed values 0...7). the actual measurement time is: equation 11 ? as_enable: this parameter enables the antenna switching function (ant_select_conf register: 0: disabled; 1: enabled). 9.12 frequency hopping in order to ensure good link reliability in an interference corrupted scenario, the device supports frequency hopping, managed by the mcu; in particular, the spirit1 supports slow frequency hopping, meaning that the systems change frequency at a rate slower than the information rate. depending on the desired blanking interval (the time during a hop), frequency hopping can be done by performing the complete pll calibration for each channel hop, or reading in the suitable register calibration data calculated at startup and stored in the non-volatile memory of the mcu. the former solution gives a long blanking interval but is more robust compared with supply voltage and temperature variation. the latter provides a shorter blanking time but is sensitive to voltage and temperature variation and requires memory space to store calibration data for each channel involved in hopping. c. the user should make sure to provide a preamble suffic iently long to allow the algorithm to choose the final antenna. t meas 24 2 chflt_e 2 as_meas_time ?? f xo ---------------------------------------------------------------------------- - =
mcu interface spirit1 72/101 docid022758 rev 5 10 mcu interface communication with the mcu goes through a standard 4-wire spi interface and 4 gpios. the device is able to provide a system clock signal to the mcu. mcu performs the following operations: ? program the spirit1 in different operating modes by sending commands ? read and write buffered data, and status information from the spi ? get interrupt requests from the gpio pins ? apply external signals to the gpio pins. 10.1 serial peripheral interface the spirit1 is configured by a 4-wire spi-compatible interface (csn, sclk, mosi, and miso). more specifically: ? csn: chip select, active low ? sclk: bit clock ? mosi: data from mcu to spirit1 (spirit1 is the slave) ? miso: data from spirit1 to mcu (mcu is the master). as the mcu is the master, it always drives the csn and sclk. according to the active sclk polarity and phase, the spirit1 spi can be classified as mode 1 (cpol=0, cpha=0), which means that the base value of sclk is zero, data are read on the clock's rising edge and data are changed on the clock's falling edge. the miso is in tri-state mode when csn is high. all transfers are done most significant bit first. the spi can be used to perform the following operations: ? write data (to registers or fifo queue) ? read data (from registers or fifo queue) ? write commands. the spi communication is supported in all the active states, and also during the low power state: standby and sleep (see table 20: states ). when accessing the spi interface, the two status bytes of the mc_state[1:0] registers are sent to the miso pin. the timing diagrams of the three operations above are reported below.
docid022758 rev 5 73/101 spirit1 mcu interface figure 13. spi ?write? operation figure 14. spi ?read? operation figure 15. spi ?command? operation concerning the first byte, the msb is an a/c bit (address/commands: 0 indicates that the following byte is an address, 1 indicates that the following byte is a command code), while the lsb is a w/r bit (write/read: 1 indicates a read operation). all other bits must be zero.  6&/. &32/  &6q 026, $ +hdghu%\wh 'dwdzulwwhqwr$gguhvv 'dwdzulwwhqwr$gguhvv 0,62 :5  $& 'rqw&duh 7ul6wdwh       $ $ $ $ $ $ $ 6slulw0hpru\0ds$gguhvv ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6slulw6wdwxvelwv &3+$  $09  6&/. &6q 026, $ +hdghu%\wh 'dwduhdgiurp$gguhvv 'dwduhdgiurp$gguhvv :5  $& 'rqw&duh 7ul6wdwh        $ $ $ $ $ $ $ 6slulw0hpru\0ds$gguhvv ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 0,62 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6slulw6wdwxvelwv $09  6&/. &6q 026, & +hdghu%\wh :5  $& 'rqw&duh 7ul6wdwh       & & & & & & & 6slulw&rppdqg&rgh 0,62 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6slulw6wdwxvelwv $09
mcu interface spirit1 74/101 docid022758 rev 5 read and write operations are persistently executed while csn is kept active (low), the address being automatically incremented (burst mode). accessing the fifo is done as usual with the read and write commands, by putting, as the address, the code 0xff. burst mode is available to access the sequence of bytes in the fifo. clearly, rx-fifo is accessed with a read operation, tx-fifo with a write operation. details of the spi parameters are reported below. 10.2 interrupts in order to notify the mcu of a certain number of events an interrupt signal is generated on a selectable gpio. the following events trigger an interrupt to the mcu: table 35. spi interface timing requirements symbol parameter min. max. unit f sclk sclk frequency 10 mhz t sp csn low to positive edge on sclk 2 s table 36. interrupts bit events group interrupt event 0 packet oriented rx data ready 1 rx data discarded (upon filtering) 2 tx data sent 3 max. re-tx reached 4 crc error 5 tx fifo underflow/overflow error 6 rx fifo underflow/overflow error 7 tx fifo almost full 8 tx fifo almost empty 9 rx fifo almost full 10 rx fifo almost empty 11 max. number of backoff during cca 12 signal quality related valid preamble detected 13 sync word detected 14 rssi above threshold (carrier sense)
docid022758 rev 5 75/101 spirit1 mcu interface all interrupts are reported on a set of interrupt status registers and are individually maskable. the interrupt status register must be cleared upon a read event from the mcu. the status of all the interrupts is reported on the irq_status[3:0] registers: bits are high for the events that have generated any interrupts. the interrupts are individually maskable using the irq_mask[3:0] registers: if the mask bit related to a particular event is programmed at 0, that event does not generate any interrupt request. 10.3 gpios the total number of gpio pins is 4. each pin is individually configurable. digital outputs can be selected from the following (see gpiox_conf register): 15 device status related wake-up timeout in ldcr mode (1) 16 ready (2) 17 standby state switching in progress 18 low battery level 19 power-on reset 20 brownout event 21 lock 29 timer related rx operation timeout 30 others aes end?of?operation 1. the interrupt flag n.15 is set (and consequently the interrupt request) only when the xo clock is available for the state machine. this time may be delayed compared to the actual timer expiration. however, the real time event can be sensed putting the end-of-counting signal on a gpio output. 2. the interrupt flag n.16 is set each time the spirit1 goes to ready state and the xo has completed its setting transient (xo ready condition detected). table 36. interrupts (continued) bit events group interrupt event table 37. digital outputs i/o selection output signal 0 nirq (interrupt request, active low) 1 por inverted (active low) 2 wake-up timer expiration: ?1? when wut has expired 3 low battery detection: ?1? when battery is below threshold setting 4 tx data internal clock output (tx data are sampled on the rising edge of it) 5 tx state indication: ?1? when the spirit1 is transiting in the tx state 6 tx fifo almost empty flag 7 tx fifo almost full flag 8 rx data output
mcu interface spirit1 76/101 docid022758 rev 5 all interrupts are reported on a set of interrupt status registers and are individually maskable. the interrupt status register must be cleared upon a read event from the mcu. the status of all the interrupts is reported on the irq_status[3:0] registers: bits are high for the events that have generated any interrupts. the interrupts are individually maskable using the irq_mask[3:0] registers: if the mask bit related to a particular event is programmed at 0, that event does not generate any interrupt request. digital inputs can be selected from the following (see gpiox_conf register): 9 rx clock output (recovered from received data) 10 rx state indication: ?1? when spirit1 is transiting in the rx state 11 rx fifo almost full flag 12 rx fifo almost empty flag 13 antenna switch used for antenna diversity 14 valid preamble detected flag 15 sync word detected flag 16 rssi above threshold (same indication as bit cs in the link_qualif[1] register) 17 mcu clock 18 tx or rx mode indicator (to enable an external range extender) 19 vdd (to emulate an additional gpio of the mcu, programmable by spi) 20 gnd (to emulate an additional gpio of the mcu, programmable by spi) 21 external smps enable signal (active high) 22 device in sleep or standby states 23 device in ready state 24 device in lock state 25 device waiting for a high level of the lock-detector output signal 26 device waiting for timer expiration before starting to sample the lock-detector output signal 27 device waiting for a high level of the ready2 signal from xo 28 device waiting for timer expiration to allow pm block settling 29 device waiting for end of vco calibration 30 device enables the full circuitry of the synth block 31 device waiting for a high level of the rccal_ok signal from the rco calibrator table 37. digital outputs (continued) i/o selection output signal
docid022758 rev 5 77/101 spirit1 mcu interface the only available analog output is the temperature sensor, see section 8.12 . 10.4 mcu clock spirit1 can directly provide the system clock to the mcu in order to avoid the use of an additional crystal. the clock signals for the mcu can be available on the gpio pins. the source oscillator can be the internal rco or the xo depending on the active state. when xo is active, it is the source clock (the rco is not available in this condition). in addition, different ratios are available and programmable through the mcu_ck_conf configuration register, as described in tab le 39 . table 38. digital inputs i/o selection input signal 0 1 >> tx command 1 1 >> rx command 2 tx data input for direct modulation 3 wake-up from external input (sensor output) 4 external clock @ 34.7 khz (used for ldc modes timing) from 5 to 31 not used table 39. mcu_ck_conf configuration register mcu_ck_conf[4:0] clock source division ratio xo_ratio rco_ratio don?t care 0 rco 1 1 1/128 0don?t carexo 1 1 2/3 2 1/2 3 1/3 4 1/4 5 1/6 6 1/8 71/12 81/16 91/24 10 1/36 11 1/48 12 1/64
mcu interface spirit1 78/101 docid022758 rev 5 in standby state, no oscillator is available as the clock source. in order to allow the mcu to better handle this event, and avoid a potential dead state situation, a dedicated procedure is forecasted when the spirit1 enters standby state. a few extra clock cycles can be provided to the mcu before actually stopping the clock (an interrupt is generated to notify the mcu of this event). the number of extra cycles can be programmed through the mcu_ck_conf configuration register to 0, 64, 256, or 512. the mcu can make use of these cycles to prepare to standby or to switch on any auxiliary clock generator. the maximum transition time from ready to standby is then: equation 12 where f clk is the digital clock frequency (typically 26 mhz). the transition to sleep state causes the mcu clock source to change from xo to rco. similarly, when the spirit1 exits sleep to any active state, the source is the xo. both these transitions are implemented in order to be glitch-free. this is guaranteed by synchronizing both transitions, switching on the rising or falling edge of the rco clock. the clock provided to the mcu depends on the current state: 13 1/96 14 1/128 15 1/192 table 40. mcu clock vs. state state source oscillator mcu clock shutdown n/a n/a standby n/a tail sleep rc osc rc/1 or rc/128 ready tuning rx tx xtal xtal/n table 39. mcu_ck_conf configuration register (continued) mcu_ck_conf[4:0] clock source division ratio xo_ratio rco_ratio t ready standby 1 f clk ------- - 512 1192 ? ---------------- - 98304 f clk ---------------- = ? =
docid022758 rev 5 79/101 spirit1 register table 11 register table this section describes all the registers used to configure the spirit1. the description is structured in sections according to the register usage. spirit1 has three types of registers: ? read and write (r/w), which can be completely managed by spi using read and write operations ? read-only (r) ? read-and-reset (rr), is automatically cleared after a read operation. a further category of special registers collects the ones which cannot be categorized in any of the three mentioned above r/w, r, or rr. the fields named as ?reserved? must not be overridden by the user, otherwise, behavior is not guaranteed. the memory map is shown in the following table: table 41. general configuration registers register address bit field name reset r/w description ana_func_conf[1] 0x00 7:5 reserved 000 r/w 4:2 gm_conf[2:0] 011 sets the driver gm of the xo at startup 1:0 set_bld_lvl[1:0] 00 sets the bld threshold 00: 2.7 v 01: 2.5 v 10: 2.3 v 11: 2.1 v
register table spirit1 80/101 docid022758 rev 5 ana_func_conf[0] 0x01 7reserved 1 r/w 6 24_26mhz_select 1 1: 26 mhz configuration 0: 24 mhz configuration (impact only rco calibration reference and loop filter tuning) 5 aes_on 0 1: aes engine enabled 4 ext_ref 0 0: reference signal from xo circuit 1: reference signal from xin pin 3reserved 0 2 brown_out 0 1: enables accurate brownout detection 1 battery_level 0 1: enables battery level detector circuit 0ts 0 1: enables the ?temperature sensor? function gpio3_conf 0x02 7:3 gpio_select[4:0] 10100 r/w gpio3 configuration (default: digital gnd) 2reserved 0 1:0 gpio_mode[1:0] 10 gpio3 mode: 01b: digital input 10b: digital output low power 11b: digital output high power (default: digital output low power) gpio2_conf 0x03 7:3 gpio_select[4:0] 10100 r/w gpio2 configuration (default: digital gnd) 2reserved 0 1:0 gpio_mode 10 gpio2 mode: 01b: digital input 10b: digital output low power 11b: digital output high power (default: digital output low power) table 41. general configuration registers (continued) register address bit field name reset r/w description
docid022758 rev 5 81/101 spirit1 register table gpio1_conf 0x04 7:3 gpio_select[4:0] 10100 r/w gpio1 configuration (default: digital gnd) 2reserved 0 1:0 gpio_mode 10 gpio1 mode: 01b: digital input 10b: digital output low power 11b: digital output high power (default: digital output low power) gpio0_conf 0x05 7:3 gpio_select[4:0] 00001 r/w gpio0 configuration (default: power-on reset signal) 2reserved 0 1:0 gpio_mode 10 gpio0 mode: 00b: analog 01b: digital input 10b: digital output low power 11b: digital output high power (default: digital output low power) mcu_ck_conf 0x06 7 en_mcu_clk 0 r/w 1: the internal divider logic is running, so the mcu clock is available (but proper gpio configuration is needed) 6:5 clock_tail[1:0] 0 number of extra clock cycles provided to the mcu before switching to standby state: 00: 0 extra clock cycle 01: 64 extra clock cycles 10: 256 extra clock cycles 11: 512 extra clock cycles 4:1 xo_ratio[3:0] 0 divider for the xo clock output 0 rco_ratio 0 divider for the rco clock output 0: 1 1: 1/128 xo_rco_test 0xb4 7:4 reserved 0010 3pd_clkdiv 0 1: disable both dividers of the digital clock (and reference clock for the smps) and if- adc clock. 2:0 reserved 001 table 41. general configuration registers (continued) register address bit field name reset r/w description
register table spirit1 82/101 docid022758 rev 5 synth_config[0] 0x9f 7 sel_tsplit 0 r/w 0: split time: 1.75 ns 1: split time: 3.47 ns 6:0 reserved 0100000 synth_config[1] 0x9e 7refdiv 0 r/w enable division by 2 on the reference clock: 0: f ref = f xo frequency 1: f ref = f xo frequency / 2 6:3 reserved 1011 2 vco_l_sel 0 1: enable vco_l 1 vco_h_sel 1 1: enable vco_h 0reserved 1 if_offset_ana 0x07 7:0 if_offset_ana 0xa3 r/w intermediate frequency setting for the analog rf synthesizer. (see section 9.4 ) table 41. general configuration registers (continued) register address bit field name reset r/w description table 42. radio configuration registers (analog blocks) register name address bit field name reset r/w description synt3 0x08 7:5 wcp[2:0] 000 r/w set the charge pump current according to the vco frequency. see table 26 . 4:0 synt[25:21] 01100 synt[25:21], highest 5 bits of the pll programmable divider the valid range depends on f xo and refdiv settings; for f xo =26mhz. see equation 2 synt2 0x09 7:0 synt[20:13] 0x84 r/w synt[20:13], intermediate bits of the pll programmable divider. see equation 2 synt1 0x0a 7:0 synt[12:5] 0xec r/w synt[12:5], intermediate bits of the pll programmable divider. see equation 2
docid022758 rev 5 83/101 spirit1 register table synt0 0x0b 7:3 synt[4:0] 01010 r/w synt[4:0], lowest bits of the pll programmable divider. see equation 2 2:0 bs 001 r/w synthesizer band select. this parameter selects the out-of- loop divide factor of the synthesizer (b in equation 2 ). 1: 6 band select factor for high band 3: 12 band select factor for middle band 4: 16 band select factor for low band 5: 32 band select factor for very low band chspace 0x0c 7:0 ch_spacing 0xfc r/w channel spacing in steps of f xo /2 15 (~793 for f xo = 26 mhz, ~732 for f xo = 24 mhz). if_offset_dig 0x0d 7:0 if_offset_dig 0xa3 r/w intermediate frequency setting for the digital shift-to-baseband (see section 9.4 ) fc_offset[1] 0x0e 7:4 reserved 0 r/w carrier offset in steps of f xo /2 18 and represented as 12 bits 2- complement integer. it is added / subtracted to the carrier frequency set by the syntx register. this register can be used to set a fixed correction value obtained e.g. from crystal measurements. 3:0 fc_offset[11:8] 0 fc_offset[0] 0x0f 7:0 fc_offset[7:0] 0 r/w pa_power[8] 0x10 7 reserved 0 r/w output power level for 8 th slot (+12 dbm) 6:0 pa_level_7 000001 1 pa_power[7] 0x11 7 reserved 0 r/w output power level for 7 th slot (+6 dbm) 6:0 pa_level_6 000111 0 pa_power[6] 0x12 7 reserved 0 r/w output power level for 6 th slot (0 dbm) 6:0 pa_level_5 001101 0 pa_power[5] 0x13 7 reserved 0 r/w output power level for 5 th slot (- 6 dbm) 6:0 pa_level_4 010010 1 pa_power[4] 0x14 7 reserved 0 r/w output power level for 4 th slot (- 12 dbm) 6:0 pa_level_3 011010 1 table 42. radio configuration regi sters (analog blocks) (continued) register name address bit field name reset r/w description
register table spirit1 84/101 docid022758 rev 5 pa_power[3] 0x15 7 reserved 0 r/w output power level for 3 rd slot (-18 dbm) 6:0 pa_level_2 100000 0 pa_power[2] 0x16 7 reserved 0 r/w output power level for 2 nd slot (-24 dbm) 6:0 pa_level_1 100111 0 pa_power[1] 0x17 7 reserved 0 r/w output power level for first slot (-30 dbm) 6:0 pa_level_0 000000 0 pa_power[0] 0x18 7:6 cwc[1:0] 00 r/w output stage additional load capacitors bank (to be used to optimize the pa for different sub-bands): 00: 0 pf 01: 1.2 pf 10: 2.4 pf 11: 3.6 pf 5 pa_ramp_enable 0 1: enable the power ramping 4:3 pa_ramp_step_w idth[1:0] 00 step width (unit: 1/8 of bit period) 2:0 pa_level_max_in dex 111 final level for power ramping or selected output power index. table 42. radio configuration regi sters (analog blocks) (continued) register name address bit field name reset r/w description table 43. radio configuration registers (digital blocks) register name address bit field name reset r/w description mod1 0x1a 7:0 datarate_m 0x83 r/w the mantissa value of the data rate equation (see equation 10 ) mod0 0x1b 7cw 0 r/w 1: enable the cw transmit mode 6 bt_sel 0 select bt value for gfsk 0: bt = 1 1: bt = 0.5 5:4 mod_type[1:0] 01 modulation type 0: 2-fsk 1: gfsk 2: ask/ook 3: msk 3:0 datarate_e 1010 the exponent value of the data rate equation (see equation 10 )
docid022758 rev 5 85/101 spirit1 register table fdev0 0x1c 7:4 fdev_e[3:0] 0100 r/w the exponent value of the frequency deviation equation (see equation 9 ) 3 clock_rec_algo _sel 0 select pll or dll mode for symbol timing recovery 2:0 fdev_m 101 the mantissa value of the frequency deviation equation (see equation 9 ) chflt 0x1d 7:4 chflt_m[3:0] 0010 r/w the mantissa value of the channel filter according to table 32 3:0 chflt_e 0011 the exponent value of the channel filter according to table 32 afc2 0x1e 7 afc_freeze_on_ sync 0r/w 1: enable the freeze afc correction upon sync word detection 6 afc_enable 1 1: enable afc(see section 8.8: afc ) 5afc_mode 0 select afc mode: 0: afc loop closed on slicer 1: afc loop closed on second conversion stage 4:0 afc_pd_leakage 01000 peak detector leakage afc1 0x1f 7:0 afc_fast_period 0x18 r/w length of the afc fast period afc0 0x20 7:4 afc_fast_gain_l og2[3:0] 0010 r/w afc loop gain in fast mode (log2) 3:0 afc_slow_gain_l og2 0101 afc loop gain in slow mode (log2) rssi_flt 0x21 7:4 rssi_flt[3:0] 1110 r/w gain of the rssi filter 3:2 cs_mode 00 carrier sense mode (see section 9.10.2 ) 1:0 ook_peak_decay 11 peak decay control for ook: 3 slow decay; 0 fast decay rssi_th 0x22 7:0 rssi_threshold 0x24 r/w signal detect threshold in 0.5 db steps, -120 dbm corresponds to 0x14. (see section 9.10.1 ) table 43. radio configuration regi sters (digital blocks) (continued) register name address bit field name reset r/w description
register table spirit1 86/101 docid022758 rev 5 clockrec 0x23 7:5 clk_rec_p_gain[ 2:0] 2 r/w clock recovery loop gain (log2) 4 pstflt_len 1 post-filter: 0: 8 symbols, 1: 16 symbols 3:0 clk_rec_i_gain 8 integral gain for the clock recovery loop (used in pll mode) agcctrl2 0x24 7:4 reserved 0010 r/w 3:0 meas_time 0010 measure time agcctrl1 0x25 7:4 threshold_high[ 3:0] 0110 r/w high threshold for the agc 3:0 threshold_low 0101 low threshold for the agc agcctrl0 0x26 7 agc enable 1 r/w 1: enable agc. 6:0 reserved 000101 0 ant_select_conf 0x27 7:5 reserved 000 r/w 4 cs_blanking 0 1: do not fill the rx fifo with the data received if the signal is below the cs threshold 3 as_enable 0 1: enable antenna switching 2:0 as_meas_time 101 measurement time table 43. radio configuration regi sters (digital blocks) (continued) register name address bit field name reset r/w description table 44. packet/protocol configuration registers register name address bit field name reset r/w description pcktctrl4 0x30 7:5 reserved 000 r/w 4:3 address_len[1:0] 00 length of address field in bytes: 0 or 1: basic 2: stack 2:0 control_len 000 length of control field in bytes
docid022758 rev 5 87/101 spirit1 register table pcktctrl3 0x31 7:6 pckt_frmt[1:0] 00 r/w format of packet. 0: basic, 2: wm-bus, 3: stack (see section 9.7 ) 5:4 rx_mode[1:0] 00 rx mode: 0: normal mode, 1: direct through fifo, 2: direct through gpio 3:0 len_wid 0111 size in number of binary digit of length field pcktctrl2 0x32 7:3 preamble_length[ 4:0] 00011 r/w length of preamble field in bytes (from 1 to 32) 2:1 sync_length[1:0] 11 length of sync field in bytes (from 1 to 4) 0 fix_var_len 0 packet length mode. 0: fixed, 1: variable (in variable mode the field len_wid of pcktctrl3 register must be configured) pcktctrl1 0x33 7:5 crc_mode[2:0] 001 r/w crc: 0: no crc, 1: 0x07, 2: 0x8005, 3: 0x1021, 4: 0x864cbf 4whit_en[0] 0 1: enable the whitening mode on the data (see section 9.6.3 ) 3:2 txsource[1:0] 00 tx source data: 0: normal mode, 1: direct through fifo, 2: direct through gpio, 3: pn9 1 reserved 0 0fec_en 0 1: enable the fec encoding in tx or enable the viterbi decoding in rx (see section 9.6.1 ) pcktlen1 0x34 7:0 pcktlen1 0 r/w length of packet in bytes (msb) table 44. packet/protocol configuration registers (continued) register name address bit field name reset r/w description
register table spirit1 88/101 docid022758 rev 5 pcktlen0 0x35 7:0 pcktlen0 0x14 r/w length of packet in bytes (lsb) sync4 0x36 7:0 sync4 0x88 r/w sync word 4 sync3 0x37 7:0 sync3 0x88 r/w sync word 3 sync2 0x38 7:0 sync2 0x88 r/w sync word 2 sync1 0x39 7:0 sync1 0x88 r/w sync word 1 qi 0x3a 7:6 sqi_th[1:0] 00 r/w sqi threshold (see section 9.10.5 ) 5:2 pqi_th[3:0] 0000 pqi threshold (see section 9.10.4 ) 1 sqi_en[0] 1 1: enable sqi 0 pqi_en[0] 0 1: enable pqi mbus_prmbl 0x3b 7:0 mbus_prmbl[7:0] 0x20 r/w mbus preamble length in chip sequence ?01? mbus_pstmbl 0x3c 7:0 mbus_pstmbl[7:0] 0x20 r/w mbus postamble length in chip sequence ?01? mbus_ctrl 0x3d 7:4 reserved 00000 r/w 3:1 mbus_submode[2:0 ] 000 mbus sub mode: allowed values are 0, 1, 3 and 5 wm-bus sub mode: 0: s1 s2 long header, 1: s1m s2 t2 other to meter, 3: t1 t2 meter to other, 5: r2 short header 0 reserved 0 fifo_config[3] 0x3e 7 reserved 0 r/w 6:0 rxafthr [6:0] 110000 r/w fifo almost full threshold for rx fifo fifo_config[2] 0x3f 7 reserved 0 r/w 6:0 rxaethr [6:0] 110000 r/w fifo almost empty threshold for rx fifo fifo_config[1] 0x40 7 reserved 0 r/w 6:0 txafthr [6:0] 110000 r/w fifo almost full threshold for tx fifo fifo_config[0] 0x41 7 reserved 0 r/w 6:0 txaethr [6:0] 110000 r/w fifo almost empty threshold for tx fifo pckt_flt_goals[1 2] 0x42 7:0 control0_mask 0 r/w for received packet only: all 0s: no filtering on control field table 44. packet/protocol configuration registers (continued) register name address bit field name reset r/w description
docid022758 rev 5 89/101 spirit1 register table pckt_flt_goals[1 1] 0x43 7:0 control1_mask 0 r/w for received packet only: all 0s: no filtering on control field pckt_flt_goals[1 0] 0x44 7:0 control2_mask 0 r/w for received packet only: all 0s: no filtering on control field pckt_flt_goals[9] 0x45 7:0 control3_mask 0 r/w for received packet only: all 0s: no filtering on control field pckt_flt_goals[8] 0x46 7:0 control0_field 0 r/w control field (byte 3) to be used as reference for receiver pckt_flt_goals[7] 0x47 7:0 control1_field 0 r/w control field (byte 2) to be used as reference for receiver pckt_flt_goals[6] 0x48 7:0 control2_field 0 r/w control field (byte 1) to be used as reference for receiver pckt_flt_goals[5] 0x49 7:0 control3_field 0 r/w control field (byte 0) to be used as reference for receiver pckt_flt_goals[4] 0x4a 7:0 rx_source_mask 0 r/w for received packet only: all 0s: no filtering pckt_flt_goals[3] 0x4b 7:0 rx_source_addr 0 r/w rx packet source / tx packet destination fields pckt_flt_goals[2] 0x4c 7:0 broadcast 0 r/w broadcast address pckt_flt_goals[1] 0x4d 7:0 multicast 0 r/w multicast address pckt_flt_goals[0] 0x4e 7:0 tx_source_addr 0 r/w tx packet source / rx packet destination fields table 44. packet/protocol configuration registers (continued) register name address bit field name reset r/w description
register table spirit1 90/101 docid022758 rev 5 pckt_flt_options 0x4f 7 reserved 0 r/w 6 rx_timeout_and_ or_select 1 1: ?or? logical function applied to cs/sqi/pqi values (masked by 7:5 bits in protocol register: cs_timeout_mask, sqi_timeout_mask, pqi_timeout_mask) 5 control_filterin g 1 1: rx packet accepted if its control fields match with masked controlx_field registers 4 source_filtering 1 1: rx packet accepted if its source field matches with masked rx_source_addr register 3 dest_vs_ broadcast_addr 0 1: rx packet accepted if its destination address matches with broadcast register. 2 dest_vs_multicas t_addr 0 1: rx packet accepted if its destination address matches with multicast register 1 dest_vs_source _addr 0 1: rx packet accepted if its destination address matches with tx_source_addr reg. 0 crc_check 0 1: packet discarded if crc not valid. protocol[2] 0x50 23 cs_timeout_mask 0 r/w 1: cs value contributes to timeout disabling 22 sqi_timeout_mask 0 1: sqi value contributes to timeout disabling 21 pqi_timeout_mask 0 1: pqi value contributes to timeout disabling 20:1 9 tx_seq_num_relo ad[1:0] 0 tx sequence number to be used when counting reset is required using the related command. 18 rco_calibration 0 1: enable the automatic rco calibration 17 vco_calibration 1 1: enable the automatic vco calibration 16 ldc_mode 0 1: ldc mode on table 44. packet/protocol configuration registers (continued) register name address bit field name reset r/w description
docid022758 rev 5 91/101 spirit1 register table protocol[1] 0x51 15 ldc_reload_on_s ync 0 r/w 1: ldc timer is reloaded with the value stored in the ldc_reload registers 14 piggybacking 0 1: piggybacking enabled 13:1 2 reserved 00 11 seed_reload 0 1: reload the back-off random generator seed using the value written in the bu_counter_seed_msb yte / lsbyte registers 10 csma_on 0 1: csma channel access mode enabled 9 csma_pers_on 0 1: csma persistent (no back- off) enabled 8 auto_pckt_flt 0 1: automatic packet filtering mode enabled protocol[0] 0x52 7:4 nmax_retx[3:0] 0 r/w max. number of re-tx (from 0 to 15). 0: re-transmission is not performed 3 nack_tx 1 1: field no_ack=1 on transmitted packet 2auto_ack 0 1: automatic acknowledgement after correct packet reception 1 pers_rx 0 1: persistent reception enabled 0 pers_tx 0 1: persistent transmission enabled timers[5] 0x53 47:4 0 rx_timeout_pres caler[7:0] 1r/w prescaler value of the rx timeout timer. when this timer expires the spirit1 exits rx state. can be controlled using the quality indicator (sqi, lqi, pqi, cs). timers[4] 0x54 39:3 2 rx_timeout_coun ter[7:0] 0r/w counter value of the rx timeout timer. when this timer expires the spirit1 exits rx state. can be controlled using the quality indicator (sqi, lqi, pqi, cs) table 44. packet/protocol configuration registers (continued) register name address bit field name reset r/w description
register table spirit1 92/101 docid022758 rev 5 timers[3] 0x55 31:2 4 ldc_prescaler[7:0 ] 1r/w prescaler value of the ldc wake-up timer. when this timer expires the spirit1 exits sleep state. timers[2] 0x56 23:1 6 ldc_counter[7:0] 0 r/w counter value of the ldc wake-up timer. when this timer expires the spirit1 exits sleep state. timers[1] 0x57 15:8 ldc_reload_pres caler[7:0] 1r/w prescaler value of the ldc reload timer. when this timer expires the spirit1 exits sleep state. the reload timer value is used if the sync word is detected (by the receiver) or if the ldc_reload command is used. timers[0] 0x58 7:0 ldc_reload_coun ter[7:0] 0r/w counter part of the ldc reload value timer. when this timer expires the spirit1 exits sleep state. the reload timer value is used if the sync word is detected (by the receiver) or if the ldc_reload command is used. csma_config[3] 0x64 7:0 bu_counter_seed _msbyte 0xff r/w the msb value of the counter of the seed of the random number generator used to apply the bbe algorithm during the csma algorithm csma_config[2] 0x65 7:0 bu_counter_seed _lsbyte 0r/w the lsb value of the counter seed of the random number generator used to apply the bbe algorithm during the csma algorithm csma_config[1] 0x66 7:2 bu_prescaler[5:0] 000001 r/w the prescaler value used to program the back-off unit bu 1:0 cca_period 00 used to program the t cca time (64 / 128 / 256 / 512 t bit ) csma_config[0] 0x67 7:4 cca_length[3:0] 0000 r/w used to program the t listen time 3 reserved 0 2:0 nbackoff_max 000 max. number of back-off cycles table 44. packet/protocol configuration registers (continued) register name address bit field name reset r/w description
docid022758 rev 5 93/101 spirit1 register table tx_ctrl_field[3] 0x68 7:0 tx_ctrl3 0 r/w control field value to be used in tx packet as byte n.3 tx_ctrl_field[2] 0x69 7:0 tx_ctrl2 0 r/w control field value to be used in tx packet as byte n.2 tx_ctrl_field[1] 0x6a 7:0 tx_ctrl1 0 r/w control field value to be used in tx packet as byte n.1 tx_ctrl_field[0] 0x6b 7:0 tx_ctrl0 0 r/w control field value to be used in tx packet as byte n.0 pm_config[2] 0xa4 7 reserved 0 r/w 6 en_ts_buffer 0 1: temperature sensor output is buffered 5 disable_smps 0 0: enable internal smps 1: disable internal smps 4 reserved 0 3 set_smps_vtune 1 sets the smps vtune voltage 2 set_smps_pllbw 1 sets the smps bandwidth 1:0 reserved 00 pm_config[1] 0xa5 7 en_rm 0 r/w 0: divider by 4 enabled (smps' switching frequency is f sw =fosc/4) 1: rate multiplier enabled (smps' switching frequency is f sw =krm*fosc/(2^15) 6:0 krm[14:8] 0100000 sets the divider ration of the rate multiplier. pm_config[0] 0xa6 7:0 krm[7:0] 0 r/w xo_rco_config 0xa7 7:4 reserved 1110 r/w 3 ext_rcosc 0 1: the 34.7khz signal must be supplied from a gpio pin 2:0 reserved 001 test_select 0xa8 7:0 reserved 0x00 r/w pm_test 0xb2 7:0 reserved 0x42 table 44. packet/protocol configuration registers (continued) register name address bit field name reset r/w description
register table spirit1 94/101 docid022758 rev 5 table 45. frequently used registers register name address bit field name reset r/w description chnum 0x6c 7:0 ch_num 0 r/w channel number. this value is multiplied by the channel spacing and added to the synthesizer base frequency to generate the actual rf carrier frequency. see equation 2 vco_config 0xa1 7:6 reserved 00 r/w 5:0 vco_gen_curr 010001 set the vco current rco_vco_calibr_in [2] 0x6d 7:4 rwt_in[3:0] 0111 r/w rwt word value for the rco 3:0 rfb_in[4:1] 0000 rfb word value for the rco rco_vco_calibr_in [1] 0x6e 7rfb_in[0] 0 r/w 6:0 vco_calibr_tx[6: 0] 100100 0 word value for the vco to be used in tx mode rco_vco_calibr_in [0] 0x6f 7 reserved 0 r/w 6:0 vco_calibr_rx[6: 0] 100100 0 word value for the vco to be used in rx mode aes_key_in[15] 0x70 7:0 aes_key15 0 r/w aes engine key input (128 bits) aes_key_in[14] 0x71 7:0 aes_ key14 0 r/w aes engine key input (128 bits) ?7:0 ? ??? aes_key_in[1] 0x7e 7:0 aes_ key1 0 r/w aes engine key input (128 bits) aes_key_in[0] 0x7f 7:0 aes_ key0 0 r/w aes engine key input (128 bits) aes_data_in[15] 0x80 7:0 aes_in15 0 r/w aes engine data input (128 bits) aes_data_in[14] 0x81 7:0 aes_in14 0 r/w aes engine data input (128 bits) ?? ? ??? aes_data_in[1] 0x8e 7:0 aes_in1 0 r/w aes engine data input (128 bits) aes_data_in[0] 0x8f 7:0 aes_in0 0 r/w aes engine data input (128 bits) irq_mask[3] 0x90 7:0 int_maskt[31:24] 0 r/w the irq mask register to route the irq information to a gpio. see table 36 . irq_mask[2] 0x91 7:0 int_mask [23:16] 0 r/w the irq mask register to route the irq information to a gpio. see table 36 .
docid022758 rev 5 95/101 spirit1 register table irq_mask[1] 0x92 7:0 int_mask[15:8] 0 r/w the irq mask register to route the irq information to a gpio. see table 36 . irq_mask[0] 0x93 7:0 int_mask [7:0] 0 r/w the irq mask register to route the irq information to a gpio. see table 36 . dem_config 0xa3 7:2 reserved 001101 r/w reserved do not modify 1 dem_order 1 set it to 0 during radio initialization 0 reserved 1 reserved do not modify pm_config 0xa4 7 reserved 0 r/w 6 en_ts_buffer 0 1: temperature sensor output is buffered 5 disable_smps 0 0: enable internal smps 1: disable internal smps mc_state[1] 0xc0 7:4 reserved 0101 r 3 ant_select 0 currently selected antenna 2 tx_fifo_full 0 1: tx fifo is full 1 rx_fifo_empty 0 1: rx fifo is empty 0 error_lock 0 1: rco calibrator error mc_state[0] 0xc1 7:1 state[6:0] 0 r current mc state. see table 20 . 0 xo_on 0 1: xo is operating tx_pckt_info 0xc2 7:6 reserved 0 r 5:4 tx_seq_num 0 current tx packet sequence number 3:0 n_retx 0 number of transmission done at the end of a tx sequence. the value is updated at the max. number of retransmission reached or at the reception of an ack packet. rx_pckt_info 0xc3 7:3 reserved 0 r 2 nack_rx 0 nack field of the received packet 1:0 rx_seq_num 0 sequence number of the received packet afc_corr 0xc4 7:0 afc_corr[7:0] 0 r afc word of the received packet link_qualif[2] 0xc5 7:0 pqi[7:0] 0 r pqi value of the received packet table 45. frequently used registers (continued) register name address bit field name reset r/w description
register table spirit1 96/101 docid022758 rev 5 link_qualif[1] 0xc6 7cs 0 r carrier sense indication 6:0 sqi[6:0] 0 sqi value of the received packet link_qualif[0] 0xc7 7:4 lqi [3:0] 0 r lqi value of the received packet 3:0 agc_word 0 agc word of the received packet rssi_level 0xc8 7:0 rssi_level 0 r rssi level of the received packet rx_pckt_len[1] 0xc9 7:0 rx_pckt_len1 0 r length (number of bytes) of the received packet: rx_pckt_len=rx_pckt_l en1 256 + rx_pckt_len0 rx_pckt_len[0] 0xca 7:0 rx_pckt_len0 0 r crc_field[2] 0xcb 7:0 crc2 0 r crc field of the received packet, byte 2 crc_field[1] 0xcc 7:0 crc1 0 r crc field of the received packet, byte 1 crc_field[0] 0xcd 7:0 crc0 0 r crc field of the received packet, byte 0 rx_ctrl_field[3] 0xce 7:0 rx_ctrl0 0 r control field(s) of the received packet, byte 0 rx_ctrl_field[2] 0xcf 7:0 rx_ctrl1 0 r control field(s) of the received packet, byte 1 rx_ctrl_field[1] 0xd0 7:0 rx_ctrl2 0 r control field(s) of the received packet, byte 2 rx_ctrl_field[0] 0xd1 7:0 rx_ctrl3 0 r control field(s) of the received packet, byte 3 rx_addr_field[1] 0xd2 7:0 addr1 0 r source address field of the rx packet. rx_addr_field[0] 0xd3 7:0 addr0 0 r destination address field of the rx packet. aes_ data_out[15] 0xd4 7:0 aes_out15 0 r aes engine data output (128 bits) aes_ data_out[14] 0xd5 7:0 aes_out14 0 r aes engine data output (128 bits) ?? ? ??? aes_ data_out[1] 0xe2 7:0 aes_out1 0 r aes engine data output (128 bits) aes_ data_out[0] 0xe3 7:0 aes_out0 0 r aes engine data output (128 bits) table 45. frequently used registers (continued) register name address bit field name reset r/w description
docid022758 rev 5 97/101 spirit1 register table rco_vco_calibr_o ut[1] 0xe4 7:4 rwt_out[3:0] 0 r rwt word from internal rco calibrator 3:0 rfb_out[4:1] 0 rfb word from internal rco calibrator rco_vco_calibr_o ut[0] 0xe5 7rfb_out[0] 0 r 6:0 vco_calibr_data 0 output word from internal vco calibrator linear_fifo_status [1] 0xe6 7 reserved 0 r 6:0 elem_txfifo 0 number of elements in the linear tx fifo (from 0 to 96 bytes) linear_fifo_status [0] 0xe7 7 reserved 0 r 6:0 elem_rxfifo 0 number of elements in the linear rx fifo (from 0 to 96 bytes) irq_status[3] 0xfa 7:0 int_event[31:24] 0 rr the irq status register. see table 36 . irq_status[2] 0xfb 7:0 int_event[23:16] 0 rr the irq status register. see table 36 . irq_status[1] 0xfc 7:0 int_event[15:8] 0 rr the irq status register. see table 36 . irq_status[0] 0xfd 7:0 int_event[7:0] 0 rr the irq status register. see table 36 . table 45. frequently used registers (continued) register name address bit field name reset r/w description table 46. general information register address bit field name reset r/w description device_info[1:0] 0xf0 7:0 partnum[7:0] 0x01 r device part number 0xf1 7:0 version[7:0] 0x30 r device version number
package mechanical data spirit1 98/101 docid022758 rev 5 12 package mechanical data in order to meet environmental requirements, st offers these devices in different grades of ecopack ? packages, depending on their level of environmental compliance. ecopack specifications, grade definitions, and product status are available at: www.st.com . ecopack is an st trademark. table 47. qfn20 (4 x 4 mm.) mechanical data dim. mm. min. typ. max. a 0.80 0.90 1.00 a1 0.02 0.05 a2 0.65 1.00 a3 0.25 b 0.18 0.23 0.30 d 3.85 4.00 4.15 d2 2.55 2.60 2.65 e 3.85 4.00 4.15 e2 2.55 2.60 2.65 e 0.45 0.50 0.55 l 0.35 0.55 0.75 ddd 0.08
docid022758 rev 5 99/101 spirit1 package mechanical data figure 16. qfn20 (4 x 4 mm.) drawing dimension 7169619_g
revision history spirit1 100/101 docid022758 rev 5 13 revision history table 48. document revision history date revision changes 06-feb-2012 1 initial release. 26-apr-2012 2 update rf performance figures in the whole document. changed pinout for pin 11. minor text changes. 05-oct-2012 3 updated tables 4 , 8 , 11 , 13 , 20 , 13 , 23 , 34 , 40 , 41 , 44 and 45 . updated section 9.4: intermediate frequency setting and section 12: package mechanical data . minor text changes to improve readability. document status changed from preliminary to production data. 13-feb-2013 4 updated tables 7 , 8 , 12 , 13 , 13 , 19 , 41 , 42 , and 45 . updated section 3.1 , section 6.2.1 , section 7.4 and section 9.7.5 inserted table 9: power consumption static modes , figure 3: application diagram for tx boost mode , figure 4: application diagram for smps off mode , section 7.3: low duty cycle reception mode section 9.10.1: rssi and table 3 . added section 8.1.1: switching frequency . minor text changes to improve readability. 06-may-2013 5 updated tables 3 and 4 . inserted new section 8.7 and section 8.9 . minor text changes.
docid022758 rev 5 101/101 spirit1 please read carefully: information in this document is provided solely in connection with st products. stmicroelectronics nv and its subsidiaries (?st ?) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described he rein at any time, without notice. all st products are sold pursuant to st?s terms and conditions of sale. purchasers are solely responsible for the choice, selection and use of the st products and services described herein, and st as sumes no liability whatsoever relating to the choice, selection or use of the st products and services described herein. no license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. i f any part of this document refers to any third party products or services it shall not be deemed a license grant by st for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoev er of such third party products or services or any intellectual property contained therein. unless otherwise set forth in st?s terms and conditions of sale st disclaims any express or implied warranty with respect to the use and/or sale of st products including without limitation implied warranties of merchantability, fitness for a particular purpose (and their equivalents under the laws of any jurisdiction), or infringement of any patent, copyright or other intellectual property right. st products are not authorized for use in weapons. nor are st products designed or authorized for use in: (a) safety critical applications such as life supporting, active implanted devices or systems with product functional safety requirements; (b) aeronautic applications; (c) automotive applications or environments, and/or (d) aerospace applications or environments. where st products are not designed for such use, the purchaser shall use products at purchaser?s sole risk, even if st has been informed in writing of such usage, unless a product is expressly designated by st as being intended for ?automotive, automotive safety or medical? industry domains according to st product design specifications. products formally escc, qml or jan qualified are deemed suitable for use in aerospace by the corresponding governmental agency. resale of st products with provisions different from the statem ents and/or technical features set forth in this document shall immediately void any warranty granted by st for the st product or service described herein and shall not create or extend in any manner whatsoev er, any liability of st. st and the st logo are trademarks or register ed trademarks of st in various countries. information in this document supersedes and replaces all information previously supplied. the st logo is a registered trademark of stmicroelectronics. all other names are the property of their respective owners. ? 2013 stmicroelectronics - all rights reserved stmicroelectronics group of companies australia - belgium - brazil - canada - china - czech republic - finland - france - germany - hong kong - india - israel - ital y - japan - malaysia - malta - morocco - philippines - singapore - spain - swed en - switzerland - united kingdom - united states of america www.st.com


▲Up To Search▲   

 
Price & Availability of SPIRIT1QTR

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X